{
  "version": "1.0",
  "servers": [
    {
      "name": "percontact-mcp",
      "description": "perContact MCP server - full read/write access to your contacts, journal entries, groups, custom fields, and status labels.",
      "url": "https://percontact.com/mcp",
      "transport": "streamable-http",
      "protocolVersion": "2025-03-26",
      "authentication": {
        "type": "bearer",
        "header": "Authorization",
        "scheme": "Bearer",
        "token_issuance": {
          "method": "manual",
          "description": "Users generate API keys from their Profile page at https://percontact.com/profile.php",
          "url": "https://percontact.com/profile.php#api-keys"
        }
      },
      "capabilities": ["tools"],
      "scopes": [
        {"name": "contacts:read",   "description": "Read contact records"},
        {"name": "contacts:write",  "description": "Create, update, delete contacts; toggle public share"},
        {"name": "journal:read",    "description": "Read journal entries"},
        {"name": "journal:write",   "description": "Create, update, delete, pin journal entries"},
        {"name": "groups:read",     "description": "Read groups and memberships"},
        {"name": "groups:write",    "description": "Create, update, delete groups and memberships"},
        {"name": "*",               "description": "All scopes"}
      ],
      "tools_preview": [
        {"name": "search_contacts",          "description": "Search and list contacts with filters and pagination"},
        {"name": "get_contact",              "description": "Fetch one contact with related data"},
        {"name": "create_contact",           "description": "Create a new contact"},
        {"name": "update_contact",           "description": "Update an existing contact"},
        {"name": "delete_contact",           "description": "Delete a contact"},
        {"name": "toggle_contact_public",    "description": "Toggle public share for a contact"},
        {"name": "list_journal",             "description": "List journal entries for a contact"},
        {"name": "add_journal_entry",        "description": "Add a journal entry"},
        {"name": "update_journal_entry",     "description": "Update a journal entry"},
        {"name": "delete_journal_entry",     "description": "Delete a journal entry"},
        {"name": "list_groups",              "description": "List contact groups"},
        {"name": "create_group",             "description": "Create a contact group"},
        {"name": "add_contact_to_group",     "description": "Add a contact to a group"},
        {"name": "remove_contact_from_group","description": "Remove a contact from a group"},
        {"name": "list_group_members",       "description": "List contacts in a group"},
        {"name": "list_custom_fields",       "description": "List account custom fields"},
        {"name": "list_statuses",            "description": "List account status labels"},
        {"name": "whoami",                   "description": "Return identity for the authenticated API key"}
      ],
      "rest_api": {
        "base_url": "https://percontact.com/api/v1",
        "openapi": "https://percontact.com/api/v1/openapi.json"
      },
      "contact": "support@percontact.com",
      "privacy_policy": "https://percontact.com/privacy",
      "terms_of_service": "https://percontact.com/terms"
    }
  ]
}
