diff --git a/schemas/server-definition.schema.json b/schemas/server-definition.schema.json index 8539265..81a6666 100644 --- a/schemas/server-definition.schema.json +++ b/schemas/server-definition.schema.json @@ -167,6 +167,11 @@ "format": "uri", "description": "HTTP endpoint URL (supports Streamable HTTP)" }, + "headers": { + "type": "object", + "additionalProperties": { "type": "string" }, + "description": "HTTP headers to send with requests (supports ${input:ID} interpolation)" + }, "metadata": { "$ref": "#/$defs/metadata" } diff --git a/servers/com.github-mcp-docker.json b/servers/com.github-mcp-docker.json new file mode 100644 index 0000000..b2249c9 --- /dev/null +++ b/servers/com.github-mcp-docker.json @@ -0,0 +1,81 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.github-mcp-docker", + "name": "GitHub (Docker)", + "alias": "gh-docker", + "description": "Interact with GitHub repositories, issues, pull requests, and code security via Docker container. Supports both github.com and GitHub Enterprise instances. Requires Docker installed.", + "icon": "https://avatars.githubusercontent.com/u/9919?v=4", + "schema_version": "2.1", + "categories": ["developer-tools", "version-control"], + "tags": ["git", "github", "code", "issues", "pull-requests", "repos", "actions", "code-review", "enterprise", "ghes"], + + "transport": { + "type": "stdio", + "command": "docker", + "args": [ + "run", "-i", "--rm", + "-e", "GITHUB_PERSONAL_ACCESS_TOKEN", + "-e", "GITHUB_HOST", + "ghcr.io/github/github-mcp-server" + ], + "env": { + "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:GITHUB_TOKEN}", + "GITHUB_HOST": "${input:GITHUB_HOST}" + }, + "metadata": { + "inputs": [ + { + "id": "GITHUB_TOKEN", + "label": "GitHub Personal Access Token", + "description": "Token used to authenticate with the GitHub API. Requires repo and read:org scopes.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://github.com/settings/tokens/new", + "instructions": "1. Click 'Generate new token (classic)'\n2. Give it a name like 'McpMux'\n3. Select scopes: repo, read:org\n4. Click 'Generate token'\n5. Copy the token (starts with ghp_)", + "button_label": "Create Token" + } + }, + { + "id": "GITHUB_HOST", + "label": "GitHub Host", + "description": "Hostname of your GitHub instance. Leave empty for github.com. For GitHub Enterprise Server, enter your instance hostname (e.g., github.mycompany.com). For GHEC Data Residency, use subdomain.ghe.com.", + "type": "text", + "required": false, + "secret": false, + "placeholder": "github.mycompany.com" + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create a personal access token at https://github.com/settings/tokens (or your Enterprise instance) with repo and read:org scopes" + }, + + "contributor": { + "name": "GitHub", + "github": "github", + "url": "https://github.com" + }, + + "links": { + "repository": "https://github.com/github/github-mcp-server", + "homepage": "https://github.com", + "documentation": "https://github.com/github/github-mcp-server#readme" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": true, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/github/github-mcp-server/releases" +} diff --git a/servers/com.github-mcp.json b/servers/com.github-mcp-http-pat.json similarity index 75% rename from servers/com.github-mcp.json rename to servers/com.github-mcp-http-pat.json index 916eb13..fec8db6 100644 --- a/servers/com.github-mcp.json +++ b/servers/com.github-mcp-http-pat.json @@ -1,31 +1,26 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "com.github-mcp", - "name": "GitHub", - "alias": "gh", - "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through the official GitHub MCP server.", + "id": "com.github-mcp-http-pat", + "name": "GitHub (Remote PAT)", + "alias": "gh-pat", + "description": "Interact with GitHub repositories, issues, pull requests, actions, and code security through GitHub's hosted remote MCP server. Authenticates with a Personal Access Token.", "icon": "https://avatars.githubusercontent.com/u/9919?v=4", "schema_version": "2.1", "categories": ["developer-tools", "version-control"], - "tags": ["git", "github", "code", "issues", "pull-requests", "repos", "actions", "code-review"], + "tags": ["git", "github", "code", "issues", "pull-requests", "repos", "actions", "code-review", "pat"], "transport": { - "type": "stdio", - "command": "docker", - "args": [ - "run", "-i", "--rm", "-e", - "GITHUB_PERSONAL_ACCESS_TOKEN", - "ghcr.io/github/github-mcp-server" - ], - "env": { - "GITHUB_PERSONAL_ACCESS_TOKEN": "${input:GITHUB_TOKEN}" + "type": "http", + "url": "https://api.githubcopilot.com/mcp/", + "headers": { + "Authorization": "Bearer ${input:GITHUB_TOKEN}" }, "metadata": { "inputs": [ { "id": "GITHUB_TOKEN", "label": "GitHub Personal Access Token", - "description": "Token used to authenticate with the GitHub API. Requires repo and read:org scopes.", + "description": "PAT sent as Bearer token to the GitHub remote MCP server. Requires repo and read:org scopes.", "type": "text", "required": true, "secret": true, diff --git a/servers/com.grafana-mcp.json b/servers/com.grafana-mcp-docker.json similarity index 88% rename from servers/com.grafana-mcp.json rename to servers/com.grafana-mcp-docker.json index b479bd1..834374d 100644 --- a/servers/com.grafana-mcp.json +++ b/servers/com.grafana-mcp-docker.json @@ -1,13 +1,13 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "com.grafana-mcp", - "name": "Grafana", + "id": "com.grafana-mcp-docker", + "name": "Grafana (Docker)", "alias": "grafana", - "description": "Search dashboards, query Prometheus and Loki datasources, manage alerts, and investigate incidents through the official Grafana MCP server.", + "description": "Search dashboards, query Prometheus and Loki datasources, manage alerts, and investigate incidents on any Grafana instance (self-hosted or Grafana Cloud) via Docker.", "icon": "https://avatars.githubusercontent.com/u/7195757?v=4", "schema_version": "2.1", "categories": ["monitoring", "developer-tools"], - "tags": ["grafana", "monitoring", "dashboards", "prometheus", "loki", "alerts", "observability", "metrics"], + "tags": ["grafana", "grafana-cloud", "monitoring", "dashboards", "prometheus", "loki", "alerts", "observability", "metrics", "incidents", "oncall"], "transport": { "type": "stdio", @@ -34,7 +34,7 @@ { "id": "GRAFANA_URL", "label": "Grafana URL", - "description": "URL of your Grafana instance. Include the protocol (http:// or https://).", + "description": "URL of your Grafana instance. Use http://localhost:3000 for local, or https://myinstance.grafana.net for Grafana Cloud.", "type": "url", "required": true, "secret": false, diff --git a/servers/com.notion-mcp-docker.json b/servers/com.notion-mcp-docker.json new file mode 100644 index 0000000..da0ec9c --- /dev/null +++ b/servers/com.notion-mcp-docker.json @@ -0,0 +1,66 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.notion-mcp-docker", + "name": "Notion (Docker)", + "alias": "notion-docker", + "description": "Read and write Notion pages, databases, and blocks via Docker container. Uses a Notion integration token for authentication.", + "icon": "https://avatars.githubusercontent.com/u/4792552?v=4", + "schema_version": "2.1", + "categories": ["productivity", "documentation"], + "tags": ["notion", "notes", "wiki", "database", "pages", "blocks", "knowledge-base", "docker"], + + "transport": { + "type": "stdio", + "command": "docker", + "args": ["run", "--rm", "-i", "-e", "NOTION_TOKEN", "mcp/notion"], + "env": { + "NOTION_TOKEN": "${input:NOTION_TOKEN}" + }, + "metadata": { + "inputs": [ + { + "id": "NOTION_TOKEN", + "label": "Notion Integration Token", + "description": "Internal integration secret token from Notion. Share the relevant pages/databases with your integration after creating it.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "ntn_xxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://www.notion.so/profile/integrations", + "instructions": "1. Go to notion.so/profile/integrations\n2. Click 'New integration'\n3. Give it a name and select your workspace\n4. Copy the Internal Integration Secret (starts with ntn_)\n5. Share desired pages/databases with the integration", + "button_label": "Create Integration" + } + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create an integration at notion.so/profile/integrations and share pages with it" + }, + + "contributor": { + "name": "Notion", + "github": "makenotion", + "url": "https://notion.so" + }, + + "links": { + "repository": "https://github.com/makenotion/notion-mcp-server", + "homepage": "https://notion.so", + "documentation": "https://developers.notion.com" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": false, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/makenotion/notion-mcp-server/releases" +} diff --git a/servers/com.notion-mcp-http.json b/servers/com.notion-mcp-http.json new file mode 100644 index 0000000..eae8bd6 --- /dev/null +++ b/servers/com.notion-mcp-http.json @@ -0,0 +1,47 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.notion-mcp-http", + "name": "Notion (Remote)", + "alias": "notion", + "description": "Read and write Notion pages, databases, and blocks through Notion's hosted remote MCP server. No local setup required, authenticates via OAuth.", + "icon": "https://avatars.githubusercontent.com/u/4792552?v=4", + "schema_version": "2.1", + "categories": ["productivity", "documentation"], + "tags": ["notion", "notes", "wiki", "database", "pages", "blocks", "knowledge-base"], + + "transport": { + "type": "http", + "url": "https://mcp.notion.com/mcp", + "metadata": { + "inputs": [] + } + }, + + "auth": { + "type": "oauth", + "instructions": "Authenticates via OAuth 2.1 in your browser using your Notion account. No token setup needed." + }, + + "contributor": { + "name": "Notion", + "github": "makenotion", + "url": "https://notion.so" + }, + + "links": { + "repository": "https://github.com/makenotion/notion-mcp-server", + "homepage": "https://notion.so", + "documentation": "https://developers.notion.com/docs/mcp" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": false, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/makenotion/notion-mcp-server/releases" +} diff --git a/servers/com.notion-mcp.json b/servers/com.notion-mcp-npx.json similarity index 89% rename from servers/com.notion-mcp.json rename to servers/com.notion-mcp-npx.json index 9f02914..3bd060e 100644 --- a/servers/com.notion-mcp.json +++ b/servers/com.notion-mcp-npx.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "com.notion-mcp", - "name": "Notion", - "alias": "notion", - "description": "Read and write Notion pages, databases, blocks, and data sources through the official Notion MCP server.", + "id": "com.notion-mcp-npx", + "name": "Notion (npx)", + "alias": "notion-npx", + "description": "Read and write Notion pages, databases, and blocks locally via npx. Uses a Notion integration token for authentication.", "icon": "https://avatars.githubusercontent.com/u/4792552?v=4", "schema_version": "2.1", "categories": ["productivity", "documentation"], diff --git a/servers/com.sentry-mcp.json b/servers/com.sentry-mcp-http.json similarity index 80% rename from servers/com.sentry-mcp.json rename to servers/com.sentry-mcp-http.json index d3f04f3..cbaf89a 100644 --- a/servers/com.sentry-mcp.json +++ b/servers/com.sentry-mcp-http.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "com.sentry-mcp", - "name": "Sentry", + "id": "com.sentry-mcp-http", + "name": "Sentry (Remote)", "alias": "sentry", - "description": "Query and manage Sentry issues, errors, performance data, and project settings through the Sentry API.", + "description": "Query and manage Sentry issues, errors, performance data, and project settings through Sentry's hosted remote MCP server. No local setup required.", "icon": "\ud83d\udc1b", "schema_version": "2.1", "categories": ["monitoring", "developer-tools"], @@ -29,6 +29,7 @@ }, "links": { + "repository": "https://github.com/getsentry/sentry-mcp", "homepage": "https://sentry.io", "documentation": "https://docs.sentry.io" }, diff --git a/servers/com.sentry-mcp-npx.json b/servers/com.sentry-mcp-npx.json new file mode 100644 index 0000000..2b5ec92 --- /dev/null +++ b/servers/com.sentry-mcp-npx.json @@ -0,0 +1,66 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.sentry-mcp-npx", + "name": "Sentry (Local)", + "alias": "sentry-local", + "description": "Query and manage Sentry issues, errors, performance data, and project settings locally via npx. Supports AI-powered search with your own LLM API key.", + "icon": "\ud83d\udc1b", + "schema_version": "2.1", + "categories": ["monitoring", "developer-tools"], + "tags": ["sentry", "errors", "monitoring", "debugging", "performance", "observability"], + + "transport": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@sentry/mcp-server@latest"], + "env": { + "SENTRY_ACCESS_TOKEN": "${input:SENTRY_ACCESS_TOKEN}" + }, + "metadata": { + "inputs": [ + { + "id": "SENTRY_ACCESS_TOKEN", + "label": "Sentry User Auth Token", + "description": "User auth token from Sentry. Requires scopes: org:read, project:read, project:write, team:read, event:write.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "sntryu_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://sentry.io/settings/account/api/auth-tokens/", + "instructions": "1. Go to Sentry Settings > API > Auth Tokens\n2. Click 'Create New Token'\n3. Select scopes: org:read, project:read, project:write, team:read, team:write, event:write\n4. Click 'Create Token'\n5. Copy the generated token", + "button_label": "Create Token" + } + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create a User Auth Token at Sentry Settings > API > Auth Tokens with org:read, project:read, project:write scopes" + }, + + "contributor": { + "name": "Sentry", + "github": "getsentry", + "url": "https://sentry.io" + }, + + "links": { + "repository": "https://github.com/getsentry/sentry-mcp", + "homepage": "https://sentry.io", + "documentation": "https://docs.sentry.io" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": false, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/getsentry/sentry-mcp/releases" +} diff --git a/servers/com.sentry-mcp-self-hosted.json b/servers/com.sentry-mcp-self-hosted.json new file mode 100644 index 0000000..4646a3d --- /dev/null +++ b/servers/com.sentry-mcp-self-hosted.json @@ -0,0 +1,76 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.sentry-mcp-self-hosted", + "name": "Sentry (Self-Hosted)", + "alias": "sentry-sh", + "description": "Query and manage issues, errors, and performance data on your self-hosted Sentry instance. Runs locally via npx with a custom Sentry host.", + "icon": "\ud83d\udc1b", + "schema_version": "2.1", + "categories": ["monitoring", "developer-tools"], + "tags": ["sentry", "self-hosted", "errors", "monitoring", "debugging", "performance", "observability"], + + "transport": { + "type": "stdio", + "command": "npx", + "args": ["-y", "@sentry/mcp-server@latest"], + "env": { + "SENTRY_ACCESS_TOKEN": "${input:SENTRY_ACCESS_TOKEN}", + "SENTRY_HOST": "${input:SENTRY_HOST}", + "MCP_DISABLE_SKILLS": "seer" + }, + "metadata": { + "inputs": [ + { + "id": "SENTRY_HOST", + "label": "Sentry Host", + "description": "Hostname of your self-hosted Sentry instance (hostname only, no https:// prefix).", + "type": "text", + "required": true, + "secret": false, + "placeholder": "sentry.mycompany.com" + }, + { + "id": "SENTRY_ACCESS_TOKEN", + "label": "Sentry User Auth Token", + "description": "User auth token from your self-hosted Sentry. Requires scopes: org:read, project:read, project:write, team:read, event:write.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "sntryu_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "obtain": { + "instructions": "1. Go to your Sentry instance Settings > API > Auth Tokens\n2. Click 'Create New Token'\n3. Select scopes: org:read, project:read, project:write, team:read, team:write, event:write\n4. Click 'Create Token'\n5. Copy the generated token", + "button_label": "Create Token" + } + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create a User Auth Token on your self-hosted Sentry instance under Settings > API > Auth Tokens" + }, + + "contributor": { + "name": "Sentry", + "github": "getsentry", + "url": "https://sentry.io" + }, + + "links": { + "repository": "https://github.com/getsentry/sentry-mcp", + "homepage": "https://sentry.io", + "documentation": "https://develop.sentry.dev/self-hosted/" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": false, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/getsentry/sentry-mcp/releases" +} diff --git a/servers/com.slack-mcp-docker.json b/servers/com.slack-mcp-docker.json new file mode 100644 index 0000000..8b3a083 --- /dev/null +++ b/servers/com.slack-mcp-docker.json @@ -0,0 +1,84 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.slack-mcp-docker", + "name": "Slack (Docker)", + "alias": "slack-docker", + "description": "Send and read Slack messages, manage channels, list users, add reactions, and interact with your Slack workspace via Docker container.", + "icon": "https://avatars.githubusercontent.com/u/6962987?v=4", + "schema_version": "2.1", + "categories": ["communication"], + "tags": ["slack", "messaging", "chat", "channels", "workspace", "collaboration", "docker"], + + "transport": { + "type": "stdio", + "command": "docker", + "args": [ + "run", "-i", "--rm", + "-e", "SLACK_BOT_TOKEN", + "-e", "SLACK_TEAM_ID", + "mcp/slack" + ], + "env": { + "SLACK_BOT_TOKEN": "${input:SLACK_BOT_TOKEN}", + "SLACK_TEAM_ID": "${input:SLACK_TEAM_ID}" + }, + "metadata": { + "inputs": [ + { + "id": "SLACK_BOT_TOKEN", + "label": "Slack Bot Token", + "description": "Bot user OAuth token for your Slack app. Requires scopes: channels:history, channels:read, chat:write, reactions:write, users:read, users.profile:read", + "type": "text", + "required": true, + "secret": true, + "placeholder": "xoxb-your-bot-token-here", + "obtain": { + "url": "https://api.slack.com/apps", + "instructions": "1. Go to api.slack.com/apps and create or select your app\n2. Navigate to OAuth & Permissions\n3. Add bot scopes: channels:history, channels:read, chat:write, reactions:write, users:read, users.profile:read\n4. Install the app to your workspace\n5. Copy the Bot User OAuth Token (starts with xoxb-)", + "button_label": "Create Slack App" + } + }, + { + "id": "SLACK_TEAM_ID", + "label": "Slack Team ID", + "description": "Your Slack workspace team ID. Found in workspace settings or the workspace URL.", + "type": "text", + "required": true, + "secret": false, + "placeholder": "T0123456789", + "obtain": { + "url": "https://slack.com/help/articles/221769328", + "instructions": "1. Open your Slack workspace in a browser\n2. The team ID is in the URL or available under Settings > Workspace Settings\n3. It starts with 'T' followed by alphanumeric characters", + "button_label": "Find Team ID" + } + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Create a Slack app at https://api.slack.com/apps and get the Bot User OAuth Token" + }, + + "contributor": { + "name": "Model Context Protocol", + "github": "modelcontextprotocol", + "url": "https://modelcontextprotocol.io" + }, + + "links": { + "repository": "https://github.com/modelcontextprotocol/servers", + "homepage": "https://slack.com", + "documentation": "https://api.slack.com/docs" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": false + } +} diff --git a/servers/com.slack-mcp.json b/servers/com.slack-mcp-npx.json similarity index 97% rename from servers/com.slack-mcp.json rename to servers/com.slack-mcp-npx.json index 7bf9f72..d95c398 100644 --- a/servers/com.slack-mcp.json +++ b/servers/com.slack-mcp-npx.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "com.slack-mcp", - "name": "Slack", + "id": "com.slack-mcp-npx", + "name": "Slack (npx)", "alias": "slack", - "description": "Send and read Slack messages, manage channels, list users, add reactions, and interact with your Slack workspace.", + "description": "Send and read Slack messages, manage channels, list users, add reactions, and interact with your Slack workspace via npx.", "icon": "https://avatars.githubusercontent.com/u/6962987?v=4", "schema_version": "2.1", "categories": ["communication"], diff --git a/servers/com.supabase-mcp-http.json b/servers/com.supabase-mcp-http.json new file mode 100644 index 0000000..3c977f5 --- /dev/null +++ b/servers/com.supabase-mcp-http.json @@ -0,0 +1,45 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "com.supabase-mcp-http", + "name": "Supabase (Remote)", + "alias": "supabase", + "description": "Manage Supabase projects, databases, edge functions, storage, and authentication through Supabase's hosted remote MCP server. Authenticates via OAuth, no local setup required.", + "icon": "\u26a1", + "schema_version": "2.1", + "categories": ["database", "cloud"], + "tags": ["supabase", "postgres", "database", "auth", "storage", "edge-functions", "backend"], + + "transport": { + "type": "http", + "url": "https://mcp.supabase.com/mcp", + "metadata": { + "inputs": [] + } + }, + + "auth": { + "type": "oauth", + "instructions": "Authenticates via OAuth 2.1 in your browser using your Supabase account. No token setup needed." + }, + + "contributor": { + "name": "Supabase", + "github": "supabase", + "url": "https://supabase.com" + }, + + "links": { + "repository": "https://github.com/supabase-community/supabase-mcp", + "homepage": "https://supabase.com", + "documentation": "https://supabase.com/docs/guides/ai/mcp" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": true, + "prompts": false, + "read_only_mode": false + } +} diff --git a/servers/com.supabase-mcp.json b/servers/com.supabase-mcp-npx.json similarity index 91% rename from servers/com.supabase-mcp.json rename to servers/com.supabase-mcp-npx.json index e41fd99..c17f5e8 100644 --- a/servers/com.supabase-mcp.json +++ b/servers/com.supabase-mcp-npx.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "com.supabase-mcp", - "name": "Supabase", - "alias": "supabase", - "description": "Manage Supabase projects, databases, edge functions, storage, and authentication through the Supabase Management API.", + "id": "com.supabase-mcp-npx", + "name": "Supabase (npx)", + "alias": "supabase-npx", + "description": "Manage Supabase projects, databases, edge functions, storage, and authentication locally via npx. Uses a personal access token.", "icon": "\u26a1", "schema_version": "2.1", "categories": ["database", "cloud"], diff --git a/servers/community.brave-search-docker.json b/servers/community.brave-search-docker.json new file mode 100644 index 0000000..960468f --- /dev/null +++ b/servers/community.brave-search-docker.json @@ -0,0 +1,68 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "community.brave-search-docker", + "name": "Brave Search (Docker)", + "alias": "brave-docker", + "description": "Search the web using the Brave Search API via Docker container. Supports web search, news search, and local POI search with privacy-focused results.", + "icon": "https://avatars.githubusercontent.com/u/12301619?v=4", + "schema_version": "2.1", + "categories": ["search"], + "tags": ["brave", "search", "web-search", "news", "privacy", "research", "docker"], + + "transport": { + "type": "stdio", + "command": "docker", + "args": [ + "run", "-i", "--rm", + "-e", "BRAVE_API_KEY", + "mcp/brave-search" + ], + "env": { + "BRAVE_API_KEY": "${input:BRAVE_API_KEY}" + }, + "metadata": { + "inputs": [ + { + "id": "BRAVE_API_KEY", + "label": "Brave Search API Key", + "description": "API key for the Brave Search API. Free tier available with 2,000 queries/month.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "BSAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", + "obtain": { + "url": "https://brave.com/search/api/", + "instructions": "1. Go to brave.com/search/api\n2. Sign up or log in\n3. Subscribe to a plan (free tier available with 2,000 queries/month)\n4. Copy your API key from the dashboard", + "button_label": "Get API Key" + } + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Get a Brave Search API key at https://brave.com/search/api/" + }, + + "contributor": { + "name": "Brave", + "github": "brave", + "url": "https://brave.com" + }, + + "links": { + "repository": "https://github.com/brave/brave-search-mcp-server", + "homepage": "https://brave.com/search/api/", + "documentation": "https://api.search.brave.com/app/documentation" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": true + } +} diff --git a/servers/community.brave-search.json b/servers/community.brave-search-npx.json similarity index 88% rename from servers/community.brave-search.json rename to servers/community.brave-search-npx.json index 37cfc4d..b26015a 100644 --- a/servers/community.brave-search.json +++ b/servers/community.brave-search-npx.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "community.brave-search", - "name": "Brave Search", + "id": "community.brave-search-npx", + "name": "Brave Search (npx)", "alias": "brave", - "description": "Search the web using the Brave Search API. Supports web search, news search, and local POI search with privacy-focused results.", + "description": "Search the web using the Brave Search API via npx. Supports web search, news search, and local POI search with privacy-focused results.", "icon": "https://avatars.githubusercontent.com/u/12301619?v=4", "schema_version": "2.1", "categories": ["search"], diff --git a/servers/community.exa-search-http.json b/servers/community.exa-search-http.json new file mode 100644 index 0000000..81bdc16 --- /dev/null +++ b/servers/community.exa-search-http.json @@ -0,0 +1,60 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "community.exa-search-http", + "name": "Exa Search (Remote)", + "alias": "exa", + "description": "AI-powered web search that understands meaning, not just keywords. Hosted remote MCP server, no local setup required.", + "icon": "https://avatars.githubusercontent.com/u/77906174?v=4", + "schema_version": "2.1", + "categories": ["search", "ai-ml"], + "tags": ["exa", "search", "web-search", "semantic-search", "ai-search", "research"], + + "transport": { + "type": "http", + "url": "https://mcp.exa.ai/mcp", + "metadata": { + "inputs": [ + { + "id": "EXA_API_KEY", + "label": "Exa API Key", + "description": "API key for the Exa Search API. Required for authentication via the remote endpoint.", + "type": "text", + "required": true, + "secret": true, + "placeholder": "exa-xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", + "obtain": { + "url": "https://dashboard.exa.ai/api-keys", + "instructions": "1. Go to dashboard.exa.ai\n2. Sign up or log in to your account\n3. Navigate to API Keys section\n4. Click 'Create API Key'\n5. Copy the generated key", + "button_label": "Get API Key" + } + } + ] + } + }, + + "auth": { + "type": "api_key", + "instructions": "Get an Exa API key at dashboard.exa.ai/api-keys" + }, + + "contributor": { + "name": "Exa", + "github": "exa-labs", + "url": "https://exa.ai" + }, + + "links": { + "repository": "https://github.com/exa-labs/exa-mcp-server", + "homepage": "https://exa.ai", + "documentation": "https://docs.exa.ai" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": true + } +} diff --git a/servers/community.exa-search.json b/servers/community.exa-search-npx.json similarity index 93% rename from servers/community.exa-search.json rename to servers/community.exa-search-npx.json index f040189..f0378b2 100644 --- a/servers/community.exa-search.json +++ b/servers/community.exa-search-npx.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "community.exa-search", - "name": "Exa Search", - "alias": "exa", - "description": "AI-powered web search that understands meaning, not just keywords. Find similar pages, search by content type, and get clean text from any URL.", + "id": "community.exa-search-npx", + "name": "Exa Search (npx)", + "alias": "exa-npx", + "description": "AI-powered web search that understands meaning, not just keywords. Find similar pages, search by content type, and get clean text from any URL via npx.", "icon": "https://avatars.githubusercontent.com/u/77906174?v=4", "schema_version": "2.1", "categories": ["search", "ai-ml"], diff --git a/servers/community.playwright-docker.json b/servers/community.playwright-docker.json new file mode 100644 index 0000000..f0958d8 --- /dev/null +++ b/servers/community.playwright-docker.json @@ -0,0 +1,50 @@ +{ + "$schema": "../schemas/server-definition.schema.json", + "id": "community.playwright-docker", + "name": "Playwright (Docker)", + "alias": "playwright-docker", + "description": "Browser automation using Playwright in a Docker container. Runs headless Chromium, no local browser installation needed. Ideal for server environments.", + "icon": "https://avatars.githubusercontent.com/u/6154722?v=4", + "schema_version": "2.1", + "categories": ["developer-tools"], + "tags": ["playwright", "browser", "automation", "testing", "screenshots", "web", "scraping", "docker", "headless"], + + "transport": { + "type": "stdio", + "command": "docker", + "args": [ + "run", "-i", "--rm", "--init", "--pull=always", + "mcr.microsoft.com/playwright/mcp" + ], + "metadata": { + "inputs": [] + } + }, + + "auth": { + "type": "none" + }, + + "contributor": { + "name": "Microsoft", + "github": "microsoft", + "url": "https://playwright.dev" + }, + + "links": { + "repository": "https://github.com/microsoft/playwright-mcp", + "homepage": "https://playwright.dev", + "documentation": "https://github.com/microsoft/playwright-mcp#readme" + }, + + "platforms": ["all"], + + "capabilities": { + "tools": true, + "resources": false, + "prompts": false, + "read_only_mode": false + }, + + "changelog_url": "https://github.com/microsoft/playwright-mcp/releases" +} diff --git a/servers/community.playwright.json b/servers/community.playwright-npx.json similarity index 88% rename from servers/community.playwright.json rename to servers/community.playwright-npx.json index 5ab6cd3..3b8f72e 100644 --- a/servers/community.playwright.json +++ b/servers/community.playwright-npx.json @@ -1,9 +1,9 @@ { "$schema": "../schemas/server-definition.schema.json", - "id": "community.playwright", - "name": "Playwright", + "id": "community.playwright-npx", + "name": "Playwright (npx)", "alias": "playwright", - "description": "Browser automation using Playwright. Navigate pages, click elements, fill forms, take screenshots, and interact with web content through structured accessibility snapshots.", + "description": "Browser automation using Playwright via npx. Navigate pages, click elements, fill forms, take screenshots, and interact with web content. Runs headed by default.", "icon": "https://avatars.githubusercontent.com/u/6154722?v=4", "schema_version": "2.1", "categories": ["developer-tools"],