{
  "name": "Method CRM MCP Server",
  "version": "1.0.0",
  "description": "Model Context Protocol server for Method CRM - comprehensive API access with 22 tools",
  "protocol": "MCP (Model Context Protocol)",
  "endpoints": {
    "mcp": "/mcp",
    "health": "/health",
    "capabilities": "/capabilities",
    "oauth": {
      "authorize": "/oauth/authorize",
      "callback": "/oauth/callback",
      "refresh": "/oauth/refresh"
    }
  },
  "features": [
    "Multi-tenant support with OAuth 2.1 PKCE",
    "API key authentication",
    "Schema caching for 70-90% latency reduction",
    "Confirmation safeguards for destructive operations",
    "Dual deployment (HTTP + CLI stdio)"
  ],
  "tools": [
    {
      "category": "Tables",
      "count": 7,
      "tools": [
        {
          "name": "method_tables_query",
          "description": "Query table records with OData filters",
          "readOnly": true
        },
        {
          "name": "method_tables_get",
          "description": "Get single record by ID",
          "readOnly": true
        },
        {
          "name": "method_tables_create",
          "description": "Create new record",
          "destructive": true
        },
        {
          "name": "method_tables_update",
          "description": "Update existing record",
          "destructive": true
        },
        {
          "name": "method_tables_delete",
          "description": "Delete record",
          "destructive": true
        },
        {
          "name": "method_tables_fields",
          "description": "Discover table schema and fields",
          "readOnly": true
        },
        {
          "name": "method_tables_lookup",
          "description": "Find RecordID values for reference fields",
          "readOnly": true
        }
      ]
    },
    {
      "category": "Files",
      "count": 6,
      "tools": [
        {
          "name": "method_files_upload",
          "description": "Upload file to record",
          "destructive": true
        },
        {
          "name": "method_files_list",
          "description": "List files for record",
          "readOnly": true
        },
        {
          "name": "method_files_download",
          "description": "Download file by ID",
          "readOnly": true
        },
        {
          "name": "method_files_get_url",
          "description": "Get temporary download URL",
          "readOnly": true
        },
        {
          "name": "method_files_update_link",
          "description": "Update file-record link",
          "destructive": true
        },
        {
          "name": "method_files_delete",
          "description": "Delete file",
          "destructive": true
        }
      ]
    },
    {
      "category": "User",
      "count": 1,
      "tools": [
        {
          "name": "method_user_get_info",
          "description": "Get current user info",
          "readOnly": true
        }
      ]
    },
    {
      "category": "Events",
      "count": 4,
      "tools": [
        {
          "name": "method_events_create_routine",
          "description": "Create automation routine",
          "destructive": true
        },
        {
          "name": "method_events_list_routines",
          "description": "List event routines",
          "readOnly": true
        },
        {
          "name": "method_events_get_routine",
          "description": "Get routine details",
          "readOnly": true
        },
        {
          "name": "method_events_delete_routine",
          "description": "Delete routine",
          "destructive": true
        }
      ]
    },
    {
      "category": "API Keys",
      "count": 4,
      "tools": [
        {
          "name": "method_apikeys_create",
          "description": "Create API key (admin only)",
          "destructive": true
        },
        {
          "name": "method_apikeys_list",
          "description": "List API keys",
          "readOnly": true
        },
        {
          "name": "method_apikeys_update",
          "description": "Update API key",
          "destructive": true
        },
        {
          "name": "method_apikeys_delete",
          "description": "Delete API key (admin only)",
          "destructive": true
        }
      ]
    }
  ],
  "authentication": {
    "methods": [
      "OAuth 2.1 with PKCE",
      "API Key"
    ],
    "note": "OAuth recommended for production, API key for development"
  },
  "documentation": {
    "method_crm": "https://developer.method.me",
    "mcp_protocol": "https://modelcontextprotocol.io"
  },
  "usage": {
    "mcp_endpoint": "POST /mcp with MCP protocol messages",
    "example_request": {
      "jsonrpc": "2.0",
      "method": "tools/list",
      "id": 1
    }
  }
}