chore: rename integrations/ directory to mcp/ (#64)
This commit is contained in:
43 files changed
+49
-45
No files matched your search
@@ -0,0 +1,70 @@
|
||||
# MCP Servers
|
||||
|
||||
MCP (Model Context Protocol) server templates for LibreFang. Each entry connects LibreFang to an external service (GitHub, Slack, databases, etc.).
|
||||
|
||||
## Structure
|
||||
|
||||
```
|
||||
mcp/
|
||||
├── github.toml
|
||||
├── slack.toml
|
||||
├── postgresql.toml
|
||||
└── ...
|
||||
```
|
||||
|
||||
## MCP Server TOML Format
|
||||
|
||||
```toml
|
||||
id = "service-id" # Must match filename (without .toml)
|
||||
name = "Service Name"
|
||||
description = "What this MCP server provides"
|
||||
category = "devtools" # devtools | communication | storage | monitoring | data
|
||||
icon = "🐙"
|
||||
tags = ["relevant", "tags"]
|
||||
|
||||
[transport] # MCP server transport config
|
||||
type = "stdio" # "stdio" or "sse"
|
||||
command = "npx"
|
||||
args = ["-y", "@pkg/mcp-server"]
|
||||
|
||||
[[required_env]] # Required environment variables
|
||||
name = "SERVICE_API_KEY"
|
||||
label = "API Key"
|
||||
help = "How to obtain this key"
|
||||
is_secret = true
|
||||
get_url = "https://..."
|
||||
|
||||
[oauth] # Optional: OAuth config
|
||||
provider = "github"
|
||||
scopes = ["repo"]
|
||||
auth_url = "https://..."
|
||||
token_url = "https://..."
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
Step-by-step setup guide for users.
|
||||
"""
|
||||
```
|
||||
|
||||
## Current MCP Servers (25)
|
||||
|
||||
| MCP Server | Category | Service |
|
||||
|------------|----------|---------|
|
||||
| github | devtools | GitHub repos, issues, PRs |
|
||||
| slack | communication | Slack messaging |
|
||||
| notion | productivity | Notion pages and databases |
|
||||
| postgresql | storage | PostgreSQL database |
|
||||
| ... | | See each file for details |
|
||||
|
||||
## Adding a New MCP Server
|
||||
|
||||
1. Create `mcp/<name>.toml`
|
||||
2. Ensure `id` matches the filename
|
||||
3. Test the MCP server command locally
|
||||
4. Run `python scripts/validate.py`
|
||||
5. Submit a PR
|
||||
|
||||
See [CONTRIBUTING.md](../CONTRIBUTING.md) for the full guide.
|
||||
@@ -0,0 +1,71 @@
|
||||
id = "aws"
|
||||
name = "AWS"
|
||||
description = "Manage Amazon Web Services resources including S3, EC2, Lambda, and more through the MCP server"
|
||||
category = "cloud"
|
||||
icon = "lucide:cloud"
|
||||
tags = ["cloud", "amazon", "infrastructure", "s3", "ec2", "lambda", "devops"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@aws-mcp/server-aws"]
|
||||
|
||||
[[required_env]]
|
||||
name = "AWS_ACCESS_KEY_ID"
|
||||
label = "AWS Access Key ID"
|
||||
help = "The access key ID from your AWS IAM credentials"
|
||||
is_secret = true
|
||||
get_url = "https://console.aws.amazon.com/iam/home#/security_credentials"
|
||||
|
||||
[[required_env]]
|
||||
name = "AWS_SECRET_ACCESS_KEY"
|
||||
label = "AWS Secret Access Key"
|
||||
help = "The secret access key paired with your access key ID"
|
||||
is_secret = true
|
||||
get_url = "https://console.aws.amazon.com/iam/home#/security_credentials"
|
||||
|
||||
[[required_env]]
|
||||
name = "AWS_REGION"
|
||||
label = "AWS Region"
|
||||
help = "The default AWS region to use (e.g., us-east-1, eu-west-1)"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to the AWS IAM Console (https://console.aws.amazon.com/iam/) and create or select an IAM user with programmatic access.
|
||||
2. Generate an access key pair and note down the Access Key ID and Secret Access Key.
|
||||
3. Paste both credentials and your preferred AWS region (default: us-east-1) into the fields above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "AWS"
|
||||
description = "通过 MCP 服务器管理 Amazon Web Services 资源(S3、EC2、Lambda 等)。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "AWS"
|
||||
description = "透過 MCP 伺服器管理 Amazon Web Services 資源(S3、EC2、Lambda 等)。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "AWS"
|
||||
description = "MCP サーバー経由で AWS リソース(S3、EC2、Lambda 等)を管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "AWS"
|
||||
description = "MCP 서버를 통해 AWS 리소스(S3, EC2, Lambda 등)를 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "AWS"
|
||||
description = "Verwaltet AWS-Ressourcen (S3, EC2, Lambda u. a.) über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "AWS"
|
||||
description = "Gestiona recursos de AWS (S3, EC2, Lambda, etc.) a través del servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "AWS"
|
||||
description = "Gère les ressources AWS (S3, EC2, Lambda, etc.) via le serveur MCP."
|
||||
@@ -0,0 +1,78 @@
|
||||
id = "azure-mcp"
|
||||
name = "Microsoft Azure"
|
||||
description = "Manage Azure resources including VMs, Storage, and App Services through the MCP server"
|
||||
category = "cloud"
|
||||
icon = "lucide:diamond"
|
||||
tags = ["cloud", "microsoft", "infrastructure", "azure", "devops", "enterprise"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@azure/mcp@1.0.4", "server", "start"]
|
||||
|
||||
[[required_env]]
|
||||
name = "AZURE_SUBSCRIPTION_ID"
|
||||
label = "Azure Subscription ID"
|
||||
help = "Your Azure subscription ID (found in the Azure Portal under Subscriptions)"
|
||||
is_secret = false
|
||||
get_url = "https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade"
|
||||
|
||||
[[required_env]]
|
||||
name = "AZURE_TENANT_ID"
|
||||
label = "Azure Tenant ID"
|
||||
help = "Your Azure Active Directory tenant ID"
|
||||
is_secret = false
|
||||
get_url = "https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview"
|
||||
|
||||
[[required_env]]
|
||||
name = "AZURE_CLIENT_ID"
|
||||
label = "Azure Client ID"
|
||||
help = "The application (client) ID of your Azure AD app registration"
|
||||
is_secret = false
|
||||
get_url = "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade"
|
||||
|
||||
[[required_env]]
|
||||
name = "AZURE_CLIENT_SECRET"
|
||||
label = "Azure Client Secret"
|
||||
help = "A client secret generated for your Azure AD app registration"
|
||||
is_secret = true
|
||||
get_url = "https://portal.azure.com/#blade/Microsoft_AAD_RegisteredApps/ApplicationsListBlade"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. In the Azure Portal, register an application under Azure Active Directory > App registrations and note the Client ID and Tenant ID.
|
||||
2. Create a client secret under Certificates & Secrets for the registered application.
|
||||
3. Assign the appropriate RBAC roles to the application on your subscription, then paste all four values into the fields above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Microsoft Azure"
|
||||
description = "通过 MCP 服务器管理 Azure 资源(虚拟机、存储、App Services 等)。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Microsoft Azure"
|
||||
description = "透過 MCP 伺服器管理 Azure 資源(虛擬機、儲存體、App Services 等)。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Microsoft Azure"
|
||||
description = "MCP サーバー経由で Azure リソース(VM、ストレージ、App Services)を管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Microsoft Azure"
|
||||
description = "MCP 서버를 통해 Azure 리소스(VM, 스토리지, App Services)를 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Microsoft Azure"
|
||||
description = "Verwaltet Azure-Ressourcen (VMs, Storage, App Services) über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Microsoft Azure"
|
||||
description = "Gestiona recursos de Azure (VMs, Storage, App Services) a través del servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Microsoft Azure"
|
||||
description = "Gère les ressources Azure (VM, Storage, App Services) via le serveur MCP."
|
||||
@@ -0,0 +1,64 @@
|
||||
id = "bitbucket"
|
||||
name = "Bitbucket"
|
||||
description = "Access Bitbucket repositories, pull requests, and pipelines through the MCP server"
|
||||
category = "devtools"
|
||||
icon = "lucide:package"
|
||||
tags = ["git", "vcs", "code", "pull-requests", "ci", "atlassian"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@atlassian-mcp-server/bitbucket@0.6.6"]
|
||||
|
||||
[[required_env]]
|
||||
name = "BITBUCKET_USERNAME"
|
||||
label = "Bitbucket Username"
|
||||
help = "Your Bitbucket Cloud username (not email)"
|
||||
is_secret = false
|
||||
get_url = "https://bitbucket.org/account/settings/"
|
||||
|
||||
[[required_env]]
|
||||
name = "BITBUCKET_APP_PASSWORD"
|
||||
label = "Bitbucket App Password"
|
||||
help = "An app password with repository and pull request permissions"
|
||||
is_secret = true
|
||||
get_url = "https://bitbucket.org/account/settings/app-passwords/"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to Bitbucket > Personal Settings > App passwords (https://bitbucket.org/account/settings/app-passwords/).
|
||||
2. Create an app password with 'Repositories: Read/Write' and 'Pull requests: Read/Write' permissions.
|
||||
3. Enter your Bitbucket username and paste the app password into the fields above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Bitbucket"
|
||||
description = "通过 MCP 服务器访问 Bitbucket 仓库、Pull Request 与流水线。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Bitbucket"
|
||||
description = "透過 MCP 伺服器存取 Bitbucket 儲存庫、Pull Request 與 Pipeline。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Bitbucket"
|
||||
description = "MCP サーバー経由で Bitbucket のリポジトリ、プルリクエスト、パイプラインにアクセス。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Bitbucket"
|
||||
description = "MCP 서버를 통해 Bitbucket 저장소, PR, 파이프라인에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "Bitbucket"
|
||||
description = "Zugriff auf Bitbucket-Repositories, Pull-Requests und Pipelines über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Bitbucket"
|
||||
description = "Accede a repositorios, pull requests y pipelines de Bitbucket mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Bitbucket"
|
||||
description = "Accès aux dépôts, pull requests et pipelines Bitbucket via le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "brave-search"
|
||||
name = "Brave Search"
|
||||
description = "Perform web searches using the Brave Search API through the MCP server"
|
||||
category = "ai"
|
||||
icon = "lucide:shield"
|
||||
tags = ["search", "web", "brave", "api", "information-retrieval"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-brave-search@0.6.2"]
|
||||
|
||||
[[required_env]]
|
||||
name = "BRAVE_API_KEY"
|
||||
label = "Brave Search API Key"
|
||||
help = "An API key from the Brave Search API dashboard"
|
||||
is_secret = true
|
||||
get_url = "https://brave.com/search/api/"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://brave.com/search/api/ and sign up for a Brave Search API plan (free tier available).
|
||||
2. Generate an API key from your Brave Search API dashboard.
|
||||
3. Paste the API key into the BRAVE_API_KEY field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Brave Search"
|
||||
description = "通过 MCP 服务器使用 Brave Search API 进行网页搜索。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Brave Search"
|
||||
description = "透過 MCP 伺服器使用 Brave Search API 進行網頁搜尋。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Brave Search"
|
||||
description = "MCP サーバー経由で Brave Search API を使ってウェブ検索を実行。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Brave Search"
|
||||
description = "MCP 서버를 통해 Brave Search API로 웹 검색을 수행."
|
||||
|
||||
[i18n.de]
|
||||
name = "Brave Search"
|
||||
description = "Websuche über die Brave-Search-API per MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Brave Search"
|
||||
description = "Realiza búsquedas web usando la API de Brave Search a través del servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Brave Search"
|
||||
description = "Recherches web via l'API Brave Search et le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "discord-mcp"
|
||||
name = "Discord"
|
||||
description = "Access Discord servers, channels, and messages through the MCP server"
|
||||
category = "communication"
|
||||
icon = "lucide:gamepad-2"
|
||||
tags = ["chat", "messaging", "community", "gaming", "voice"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "mcp-discord@1.3.4"]
|
||||
|
||||
[[required_env]]
|
||||
name = "DISCORD_BOT_TOKEN"
|
||||
label = "Discord Bot Token"
|
||||
help = "A bot token from the Discord Developer Portal"
|
||||
is_secret = true
|
||||
get_url = "https://discord.com/developers/applications"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to the Discord Developer Portal (https://discord.com/developers/applications) and create a new application.
|
||||
2. Navigate to the 'Bot' section, click 'Add Bot', and copy the bot token.
|
||||
3. Invite the bot to your server using the OAuth2 URL generator with the required permissions, then paste the token into the DISCORD_BOT_TOKEN field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Discord"
|
||||
description = "通过 MCP 服务器访问 Discord 服务器、频道与消息。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Discord"
|
||||
description = "透過 MCP 伺服器存取 Discord 伺服器、頻道與訊息。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Discord"
|
||||
description = "MCP サーバー経由で Discord のサーバー、チャンネル、メッセージにアクセス。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Discord"
|
||||
description = "MCP 서버를 통해 Discord 서버, 채널, 메시지에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "Discord"
|
||||
description = "Zugriff auf Discord-Server, Kanäle und Nachrichten über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Discord"
|
||||
description = "Accede a servidores, canales y mensajes de Discord mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Discord"
|
||||
description = "Accès aux serveurs, salons et messages Discord via le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "dropbox"
|
||||
name = "Dropbox"
|
||||
description = "Access and manage Dropbox files and folders through the MCP server"
|
||||
category = "productivity"
|
||||
icon = "lucide:package"
|
||||
tags = ["files", "storage", "cloud-storage", "sync", "sharing"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@microagents/mcp-server-dropbox@0.0.1"]
|
||||
|
||||
[[required_env]]
|
||||
name = "DROPBOX_ACCESS_TOKEN"
|
||||
label = "Dropbox Access Token"
|
||||
help = "A short-lived or long-lived access token from the Dropbox App Console"
|
||||
is_secret = true
|
||||
get_url = "https://www.dropbox.com/developers/apps"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to the Dropbox App Console (https://www.dropbox.com/developers/apps) and create a new app or select an existing one.
|
||||
2. Under the 'OAuth 2' section, generate an access token with the required permissions.
|
||||
3. Paste the access token into the DROPBOX_ACCESS_TOKEN field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Dropbox"
|
||||
description = "通过 MCP 服务器访问和管理 Dropbox 的文件与文件夹。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Dropbox"
|
||||
description = "透過 MCP 伺服器存取並管理 Dropbox 的檔案與資料夾。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Dropbox"
|
||||
description = "MCP サーバー経由で Dropbox のファイルとフォルダを操作。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Dropbox"
|
||||
description = "MCP 서버를 통해 Dropbox 파일과 폴더를 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Dropbox"
|
||||
description = "Zugriff und Verwaltung von Dropbox-Dateien und -Ordnern über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Dropbox"
|
||||
description = "Accede y gestiona archivos y carpetas de Dropbox mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Dropbox"
|
||||
description = "Accès et gestion des fichiers et dossiers Dropbox via le serveur MCP."
|
||||
@@ -0,0 +1,64 @@
|
||||
id = "elasticsearch"
|
||||
name = "Elasticsearch"
|
||||
description = "Search and manage Elasticsearch indices and documents through the MCP server"
|
||||
category = "data"
|
||||
icon = "lucide:search"
|
||||
tags = ["search", "database", "indexing", "analytics", "full-text"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@elastic/mcp-server-elasticsearch@0.3.1"]
|
||||
|
||||
[[required_env]]
|
||||
name = "ELASTICSEARCH_URL"
|
||||
label = "Elasticsearch URL"
|
||||
help = "The base URL of your Elasticsearch cluster (e.g., https://my-cluster.es.us-east-1.aws.found.io:9243)"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[[required_env]]
|
||||
name = "ELASTICSEARCH_API_KEY"
|
||||
label = "Elasticsearch API Key"
|
||||
help = "An API key with read/write permissions for the target indices"
|
||||
is_secret = true
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Obtain your Elasticsearch cluster URL from your Elastic Cloud dashboard or self-hosted instance configuration.
|
||||
2. Create an API key in Kibana (Stack Management > API Keys) with appropriate index permissions.
|
||||
3. Paste the cluster URL and API key into the fields above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Elasticsearch"
|
||||
description = "通过 MCP 服务器搜索与管理 Elasticsearch 索引和文档。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Elasticsearch"
|
||||
description = "透過 MCP 伺服器搜尋與管理 Elasticsearch 索引與文件。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Elasticsearch"
|
||||
description = "MCP サーバー経由で Elasticsearch のインデックスとドキュメントを検索・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Elasticsearch"
|
||||
description = "MCP 서버를 통해 Elasticsearch 인덱스와 문서를 검색 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Elasticsearch"
|
||||
description = "Suchen und Verwalten von Elasticsearch-Indizes und -Dokumenten über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Elasticsearch"
|
||||
description = "Busca y gestiona índices y documentos de Elasticsearch mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Elasticsearch"
|
||||
description = "Recherche et gestion des index et documents Elasticsearch via le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "exa-search"
|
||||
name = "Exa Search"
|
||||
description = "Perform AI-powered neural searches and retrieve web content through the Exa MCP server"
|
||||
category = "ai"
|
||||
icon = "lucide:search"
|
||||
tags = ["search", "web", "ai", "neural", "semantic", "information-retrieval"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "exa-mcp-server@3.1.9"]
|
||||
|
||||
[[required_env]]
|
||||
name = "EXA_API_KEY"
|
||||
label = "Exa API Key"
|
||||
help = "An API key from the Exa dashboard"
|
||||
is_secret = true
|
||||
get_url = "https://dashboard.exa.ai/api-keys"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://dashboard.exa.ai/ and create an account or sign in.
|
||||
2. Navigate to API Keys (https://dashboard.exa.ai/api-keys) and generate a new key.
|
||||
3. Paste the API key into the EXA_API_KEY field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Exa Search"
|
||||
description = "通过 Exa MCP 服务器执行 AI 神经搜索并获取网页内容。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Exa Search"
|
||||
description = "透過 Exa MCP 伺服器執行 AI 神經搜尋並擷取網頁內容。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Exa Search"
|
||||
description = "Exa MCP サーバー経由で AI ニューラル検索とウェブコンテンツ取得を実行。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Exa Search"
|
||||
description = "Exa MCP 서버를 통해 AI 뉴럴 검색과 웹 콘텐츠 조회를 수행."
|
||||
|
||||
[i18n.de]
|
||||
name = "Exa Search"
|
||||
description = "KI-gestützte neuronale Suche und Webinhalts-Abruf über den Exa-MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Exa Search"
|
||||
description = "Realiza búsquedas neuronales con IA y recupera contenido web mediante el servidor MCP de Exa."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Exa Search"
|
||||
description = "Recherches neuronales IA et récupération de contenu web via le serveur MCP Exa."
|
||||
@@ -0,0 +1,50 @@
|
||||
id = "fetch"
|
||||
name = "Web Fetch"
|
||||
description = "Fetch any web URL and receive its content as clean Markdown — ideal for reading docs, articles, and APIs"
|
||||
category = "devtools"
|
||||
icon = "🌐"
|
||||
tags = ["web", "fetch", "scraping", "markdown", "http"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-fetch@latest"]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
No API key required. Fetches any publicly accessible URL and returns the content as Markdown.
|
||||
|
||||
For JavaScript-rendered pages (SPAs), use the Puppeteer integration instead.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Web Fetch"
|
||||
description = "抓取任意网页并以干净的 Markdown 返回内容 —— 适合阅读文档、文章与 API。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Web Fetch"
|
||||
description = "擷取任意網頁並以乾淨的 Markdown 回傳 —— 適合閱讀文件、文章與 API。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Web Fetch"
|
||||
description = "任意の URL を取得しクリーンな Markdown に整形 —— ドキュメント、記事、API の読み取りに最適。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Web Fetch"
|
||||
description = "임의의 웹 URL을 가져와 깔끔한 Markdown으로 반환 —— 문서, 기사, API 읽기에 적합."
|
||||
|
||||
[i18n.de]
|
||||
name = "Web Fetch"
|
||||
description = "Ruft beliebige Web-URLs ab und liefert sauberes Markdown — ideal für Dokumentationen, Artikel und APIs."
|
||||
|
||||
[i18n.es]
|
||||
name = "Web Fetch"
|
||||
description = "Obtiene cualquier URL web y devuelve su contenido en Markdown limpio — ideal para docs, artículos y APIs."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Web Fetch"
|
||||
description = "Récupère n'importe quelle URL et retourne son contenu en Markdown propre — idéal pour docs, articles et API."
|
||||
@@ -0,0 +1,62 @@
|
||||
id = "filesystem"
|
||||
name = "Filesystem"
|
||||
description = "Read, write, search, and manage local files through the official MCP filesystem server"
|
||||
category = "devtools"
|
||||
icon = "📁"
|
||||
tags = ["files", "local", "read", "write", "search"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-filesystem@latest", "$HOME"]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
Exposes your home directory to agents by default.
|
||||
|
||||
To restrict access to specific directories, add a custom entry in config.toml:
|
||||
|
||||
```toml
|
||||
[[mcp_servers]]
|
||||
name = "filesystem"
|
||||
|
||||
[mcp_servers.transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-filesystem@latest", "/path/to/expose"]
|
||||
```
|
||||
|
||||
Requires Node.js / npx.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Filesystem"
|
||||
description = "通过官方 MCP Filesystem 服务器读、写、搜索和管理本地文件。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Filesystem"
|
||||
description = "透過官方 MCP Filesystem 伺服器讀、寫、搜尋與管理本地檔案。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Filesystem"
|
||||
description = "公式 MCP Filesystem サーバー経由でローカルファイルを読み書き・検索・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Filesystem"
|
||||
description = "공식 MCP Filesystem 서버를 통해 로컬 파일을 읽기/쓰기/검색/관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Filesystem"
|
||||
description = "Lokale Dateien über den offiziellen MCP-Filesystem-Server lesen, schreiben, suchen und verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "Filesystem"
|
||||
description = "Lee, escribe, busca y gestiona archivos locales mediante el servidor MCP oficial de sistema de archivos."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Filesystem"
|
||||
description = "Lire, écrire, rechercher et gérer les fichiers locaux via le serveur MCP Filesystem officiel."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "gcp-mcp"
|
||||
name = "Google Cloud Platform"
|
||||
description = "Manage GCP resources including Compute Engine, Cloud Storage, and BigQuery through the MCP server"
|
||||
category = "cloud"
|
||||
icon = "lucide:globe"
|
||||
tags = ["cloud", "google", "infrastructure", "gce", "gcs", "bigquery", "devops"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@google-cloud/gcloud-mcp@0.5.3"]
|
||||
|
||||
[[required_env]]
|
||||
name = "GOOGLE_APPLICATION_CREDENTIALS"
|
||||
label = "Service Account Key Path"
|
||||
help = "Absolute path to a GCP service account JSON key file"
|
||||
is_secret = false
|
||||
get_url = "https://console.cloud.google.com/iam-admin/serviceaccounts"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to the GCP Console > IAM & Admin > Service Accounts (https://console.cloud.google.com/iam-admin/serviceaccounts) and create a new service account with the necessary roles.
|
||||
2. Generate a JSON key file for the service account and save it to a secure location on your filesystem.
|
||||
3. Enter the absolute path to the JSON key file in the GOOGLE_APPLICATION_CREDENTIALS field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Google Cloud Platform"
|
||||
description = "通过 MCP 服务器管理 GCP 资源(Compute Engine、Cloud Storage、BigQuery 等)。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Google Cloud Platform"
|
||||
description = "透過 MCP 伺服器管理 GCP 資源(Compute Engine、Cloud Storage、BigQuery 等)。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Google Cloud Platform"
|
||||
description = "MCP サーバー経由で GCP リソース(Compute Engine、Cloud Storage、BigQuery)を管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Google Cloud Platform"
|
||||
description = "MCP 서버를 통해 GCP 리소스(Compute Engine, Cloud Storage, BigQuery)를 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Google Cloud Platform"
|
||||
description = "Verwaltet GCP-Ressourcen (Compute Engine, Cloud Storage, BigQuery) über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Google Cloud Platform"
|
||||
description = "Gestiona recursos de GCP (Compute Engine, Cloud Storage, BigQuery) mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Google Cloud Platform"
|
||||
description = "Gère les ressources GCP (Compute Engine, Cloud Storage, BigQuery) via le serveur MCP."
|
||||
@@ -0,0 +1,62 @@
|
||||
id = "git"
|
||||
name = "Git"
|
||||
description = "Inspect local Git repositories — read commits, diffs, branches, file history, and blame without shell access"
|
||||
category = "devtools"
|
||||
icon = "🌿"
|
||||
tags = ["git", "version-control", "commits", "diff", "history", "blame"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "uvx"
|
||||
args = ["mcp-server-git", "--repository", "."]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
Requires `uv` (Python package manager):
|
||||
- macOS/Linux: `curl -LsSf https://astral.sh/uv/install.sh | sh`
|
||||
- Or: `pip install uv`
|
||||
|
||||
The `--repository .` argument uses the current working directory. To point at a specific repo:
|
||||
|
||||
```toml
|
||||
[[mcp_servers]]
|
||||
name = "git"
|
||||
|
||||
[mcp_servers.transport]
|
||||
type = "stdio"
|
||||
command = "uvx"
|
||||
args = ["mcp-server-git", "--repository", "/path/to/your/repo"]
|
||||
```
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Git"
|
||||
description = "检视本地 Git 仓库 —— 读取提交、diff、分支、文件历史与 blame,无需 shell 访问。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Git"
|
||||
description = "檢視本地 Git 儲存庫 —— 讀取 Commit、Diff、分支、檔案歷史與 blame,無需 Shell 存取。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Git"
|
||||
description = "シェルなしでローカル Git リポジトリを検査 —— コミット、diff、ブランチ、ファイル履歴、blame を取得。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Git"
|
||||
description = "셸 접근 없이 로컬 Git 저장소를 조사 —— 커밋, diff, 브랜치, 파일 이력, blame을 확인."
|
||||
|
||||
[i18n.de]
|
||||
name = "Git"
|
||||
description = "Lokale Git-Repositories inspizieren — Commits, Diffs, Branches, Datei-Historie und Blame ohne Shell-Zugriff."
|
||||
|
||||
[i18n.es]
|
||||
name = "Git"
|
||||
description = "Inspecciona repositorios Git locales: commits, diffs, ramas, historial y blame sin acceso a shell."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Git"
|
||||
description = "Inspecte les dépôts Git locaux — commits, diffs, branches, historique et blame sans accès shell."
|
||||
@@ -0,0 +1,63 @@
|
||||
id = "github"
|
||||
name = "GitHub"
|
||||
description = "Access GitHub repositories, issues, pull requests, and organizations through the official MCP server"
|
||||
category = "devtools"
|
||||
icon = "lucide:github"
|
||||
tags = ["git", "vcs", "code", "issues", "pull-requests", "ci"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-github@2025.4.8"]
|
||||
|
||||
[[required_env]]
|
||||
name = "GITHUB_PERSONAL_ACCESS_TOKEN"
|
||||
label = "GitHub Personal Access Token"
|
||||
help = "A fine-grained or classic PAT with repo and read:org scopes"
|
||||
is_secret = true
|
||||
get_url = "https://github.com/settings/tokens"
|
||||
|
||||
[oauth]
|
||||
provider = "github"
|
||||
scopes = ["repo", "read:org"]
|
||||
auth_url = "https://github.com/login/oauth/authorize"
|
||||
token_url = "https://github.com/login/oauth/access_token"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://github.com/settings/tokens and create a Personal Access Token (classic or fine-grained) with 'repo' and 'read:org' scopes.
|
||||
2. Paste the token into the GITHUB_PERSONAL_ACCESS_TOKEN field above.
|
||||
3. Alternatively, use the OAuth flow to authorize LibreFang directly with your GitHub account.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "GitHub"
|
||||
description = "通过官方 MCP 服务器访问 GitHub 仓库、Issue、Pull Request 与组织。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "GitHub"
|
||||
description = "透過官方 MCP 伺服器存取 GitHub 儲存庫、Issue、Pull Request 與組織。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "GitHub"
|
||||
description = "公式 MCP サーバー経由で GitHub のリポジトリ、Issue、Pull Request、Organization にアクセス。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "GitHub"
|
||||
description = "공식 MCP 서버를 통해 GitHub 저장소, 이슈, PR, 조직에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "GitHub"
|
||||
description = "Zugriff auf GitHub-Repositories, Issues, Pull-Requests und Organisationen über den offiziellen MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "GitHub"
|
||||
description = "Accede a repositorios, issues, pull requests y organizaciones de GitHub mediante el servidor MCP oficial."
|
||||
|
||||
[i18n.fr]
|
||||
name = "GitHub"
|
||||
description = "Accès aux dépôts, issues, pull requests et organisations GitHub via le serveur MCP officiel."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "gitlab"
|
||||
name = "GitLab"
|
||||
description = "Access GitLab projects, merge requests, issues, and CI/CD pipelines through the MCP server"
|
||||
category = "devtools"
|
||||
icon = "lucide:flame"
|
||||
tags = ["git", "vcs", "code", "merge-requests", "ci", "devops"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-gitlab@2025.4.25"]
|
||||
|
||||
[[required_env]]
|
||||
name = "GITLAB_PERSONAL_ACCESS_TOKEN"
|
||||
label = "GitLab Personal Access Token"
|
||||
help = "A personal access token with api scope from your GitLab instance"
|
||||
is_secret = true
|
||||
get_url = "https://gitlab.com/-/user_settings/personal_access_tokens"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Navigate to GitLab > User Settings > Access Tokens (https://gitlab.com/-/user_settings/personal_access_tokens).
|
||||
2. Create a new personal access token with the 'api' scope and an appropriate expiration date.
|
||||
3. Paste the token into the GITLAB_PERSONAL_ACCESS_TOKEN field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "GitLab"
|
||||
description = "通过 MCP 服务器访问 GitLab 项目、Merge Request、Issue 与 CI/CD 流水线。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "GitLab"
|
||||
description = "透過 MCP 伺服器存取 GitLab 專案、Merge Request、Issue 與 CI/CD Pipeline。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "GitLab"
|
||||
description = "MCP サーバー経由で GitLab のプロジェクト、マージリクエスト、Issue、CI/CD パイプラインを操作。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "GitLab"
|
||||
description = "MCP 서버를 통해 GitLab 프로젝트, 머지 요청, 이슈, CI/CD 파이프라인에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "GitLab"
|
||||
description = "Zugriff auf GitLab-Projekte, Merge Requests, Issues und CI/CD-Pipelines über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "GitLab"
|
||||
description = "Accede a proyectos, merge requests, issues y pipelines de CI/CD de GitLab mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "GitLab"
|
||||
description = "Accès aux projets, merge requests, issues et pipelines CI/CD GitLab via le serveur MCP."
|
||||
@@ -0,0 +1,56 @@
|
||||
id = "gmail"
|
||||
name = "Gmail"
|
||||
description = "Read, send, and manage Gmail messages and drafts through the Anthropic MCP server"
|
||||
category = "productivity"
|
||||
icon = "lucide:mail"
|
||||
tags = ["email", "google", "messaging", "inbox", "communication"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@gongrzhe/server-gmail-autoauth-mcp@1.1.11"]
|
||||
|
||||
[oauth]
|
||||
provider = "google"
|
||||
scopes = ["https://www.googleapis.com/auth/gmail.modify"]
|
||||
auth_url = "https://accounts.google.com/o/oauth2/v2/auth"
|
||||
token_url = "https://oauth2.googleapis.com/token"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Click 'Connect' to initiate the OAuth flow with your Google account.
|
||||
2. Grant LibreFang permission to read and modify your Gmail messages when prompted.
|
||||
3. The connection will be established automatically after authorization.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Gmail"
|
||||
description = "通过 Anthropic MCP 服务器读取、发送和管理 Gmail 邮件与草稿。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Gmail"
|
||||
description = "透過 Anthropic MCP 伺服器讀取、傳送與管理 Gmail 郵件與草稿。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Gmail"
|
||||
description = "Anthropic MCP サーバー経由で Gmail のメッセージと下書きを読み書き。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Gmail"
|
||||
description = "Anthropic MCP 서버를 통해 Gmail 메시지와 초안을 읽고, 보내고, 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Gmail"
|
||||
description = "Gmail-Nachrichten und Entwürfe über den Anthropic-MCP-Server lesen, senden und verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "Gmail"
|
||||
description = "Lee, envía y gestiona mensajes y borradores de Gmail mediante el servidor MCP de Anthropic."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Gmail"
|
||||
description = "Lire, envoyer et gérer les messages et brouillons Gmail via le serveur MCP Anthropic."
|
||||
@@ -0,0 +1,56 @@
|
||||
id = "google-calendar"
|
||||
name = "Google Calendar"
|
||||
description = "Manage Google Calendar events, schedules, and availability through the Anthropic MCP server"
|
||||
category = "productivity"
|
||||
icon = "lucide:calendar"
|
||||
tags = ["calendar", "scheduling", "google", "events", "meetings"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@cocal/google-calendar-mcp@2.6.1"]
|
||||
|
||||
[oauth]
|
||||
provider = "google"
|
||||
scopes = ["https://www.googleapis.com/auth/calendar"]
|
||||
auth_url = "https://accounts.google.com/o/oauth2/v2/auth"
|
||||
token_url = "https://oauth2.googleapis.com/token"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Click 'Connect' to initiate the OAuth flow with your Google account.
|
||||
2. Grant LibreFang access to your Google Calendar when prompted.
|
||||
3. The connection will be established automatically after authorization.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Google Calendar"
|
||||
description = "通过 Anthropic MCP 服务器管理 Google 日历的活动、日程与可用时段。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Google Calendar"
|
||||
description = "透過 Anthropic MCP 伺服器管理 Google 日曆的活動、行程與空檔。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Google Calendar"
|
||||
description = "Anthropic MCP サーバー経由で Google カレンダーのイベント、スケジュール、空き時間を管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Google Calendar"
|
||||
description = "Anthropic MCP 서버를 통해 Google 캘린더 이벤트, 일정, 가용 시간을 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Google Calendar"
|
||||
description = "Verwaltet Google-Kalender-Ereignisse, Zeitpläne und Verfügbarkeiten über den Anthropic-MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Google Calendar"
|
||||
description = "Gestiona eventos, horarios y disponibilidad de Google Calendar mediante el servidor MCP de Anthropic."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Google Calendar"
|
||||
description = "Gère les événements, horaires et disponibilités Google Calendar via le serveur MCP Anthropic."
|
||||
@@ -0,0 +1,56 @@
|
||||
id = "google-drive"
|
||||
name = "Google Drive"
|
||||
description = "Browse, search, and read files from Google Drive through the Anthropic MCP server"
|
||||
category = "productivity"
|
||||
icon = "lucide:folder"
|
||||
tags = ["files", "storage", "google", "documents", "cloud-storage"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-gdrive@2025.1.14"]
|
||||
|
||||
[oauth]
|
||||
provider = "google"
|
||||
scopes = ["https://www.googleapis.com/auth/drive.readonly"]
|
||||
auth_url = "https://accounts.google.com/o/oauth2/v2/auth"
|
||||
token_url = "https://oauth2.googleapis.com/token"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Click 'Connect' to initiate the OAuth flow with your Google account.
|
||||
2. Grant LibreFang read-only access to your Google Drive files when prompted.
|
||||
3. The connection will be established automatically after authorization.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Google Drive"
|
||||
description = "通过 Anthropic MCP 服务器浏览、搜索并读取 Google Drive 中的文件。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Google Drive"
|
||||
description = "透過 Anthropic MCP 伺服器瀏覽、搜尋並讀取 Google Drive 中的檔案。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Google Drive"
|
||||
description = "Anthropic MCP サーバー経由で Google Drive のファイルを閲覧・検索・読み取り。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Google Drive"
|
||||
description = "Anthropic MCP 서버를 통해 Google Drive의 파일을 탐색, 검색, 읽기."
|
||||
|
||||
[i18n.de]
|
||||
name = "Google Drive"
|
||||
description = "Dateien aus Google Drive über den Anthropic-MCP-Server durchsuchen und lesen."
|
||||
|
||||
[i18n.es]
|
||||
name = "Google Drive"
|
||||
description = "Navega, busca y lee archivos de Google Drive mediante el servidor MCP de Anthropic."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Google Drive"
|
||||
description = "Parcours, recherche et lecture de fichiers Google Drive via le serveur MCP Anthropic."
|
||||
@@ -0,0 +1,60 @@
|
||||
id = "google-maps"
|
||||
name = "Google Maps"
|
||||
description = "Geocoding, reverse geocoding, directions, distance matrix, and place search via Google Maps Platform"
|
||||
category = "data"
|
||||
icon = "🗺️"
|
||||
tags = ["maps", "geocoding", "directions", "places", "google", "location"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-google-maps@latest"]
|
||||
|
||||
[[required_env]]
|
||||
name = "GOOGLE_MAPS_API_KEY"
|
||||
label = "Google Maps API Key"
|
||||
help = "Enable Maps JavaScript API, Geocoding API, and Places API in Google Cloud Console, then create an API key"
|
||||
is_secret = true
|
||||
get_url = "https://console.cloud.google.com/apis/credentials"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 120
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://console.cloud.google.com
|
||||
2. Enable: Geocoding API, Directions API, Places API, Distance Matrix API
|
||||
3. Create credentials → API Key
|
||||
4. Paste the key into the field above
|
||||
|
||||
Free tier includes $200/month credit (~40,000 geocoding requests).
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Google Maps"
|
||||
description = "通过 Google Maps 平台进行地理编码、反向地理编码、路线规划、距离矩阵与地点搜索。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Google Maps"
|
||||
description = "透過 Google Maps 平台進行地理編碼、反向地理編碼、路線規劃、距離矩陣與地點搜尋。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Google Maps"
|
||||
description = "Google Maps プラットフォームによるジオコーディング、逆ジオコーディング、経路、距離行列、場所検索。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Google Maps"
|
||||
description = "Google Maps 플랫폼을 통한 지오코딩, 역지오코딩, 길찾기, 거리 매트릭스, 장소 검색."
|
||||
|
||||
[i18n.de]
|
||||
name = "Google Maps"
|
||||
description = "Geocoding, Reverse-Geocoding, Routing, Distanzmatrix und Ortssuche über die Google-Maps-Plattform."
|
||||
|
||||
[i18n.es]
|
||||
name = "Google Maps"
|
||||
description = "Geocodificación, geocodificación inversa, rutas, matriz de distancias y búsqueda de lugares en Google Maps."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Google Maps"
|
||||
description = "Géocodage, géocodage inverse, itinéraires, matrice de distances et recherche de lieux via Google Maps Platform."
|
||||
@@ -0,0 +1,71 @@
|
||||
id = "jira"
|
||||
name = "Jira"
|
||||
description = "Access Jira issues, projects, boards, and sprints through the Atlassian MCP server"
|
||||
category = "devtools"
|
||||
icon = "lucide:clipboard-list"
|
||||
tags = ["project-management", "issues", "agile", "atlassian", "tracking"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@aashari/mcp-server-atlassian-jira@3.3.0"]
|
||||
|
||||
[[required_env]]
|
||||
name = "JIRA_API_TOKEN"
|
||||
label = "Jira API Token"
|
||||
help = "An API token generated from your Atlassian account"
|
||||
is_secret = true
|
||||
get_url = "https://id.atlassian.com/manage-profile/security/api-tokens"
|
||||
|
||||
[[required_env]]
|
||||
name = "JIRA_INSTANCE_URL"
|
||||
label = "Jira Instance URL"
|
||||
help = "Your Jira Cloud instance URL (e.g., https://yourcompany.atlassian.net)"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[[required_env]]
|
||||
name = "JIRA_USER_EMAIL"
|
||||
label = "Jira User Email"
|
||||
help = "The email address associated with your Atlassian account"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://id.atlassian.com/manage-profile/security/api-tokens and create a new API token.
|
||||
2. Enter your Jira Cloud instance URL (e.g., https://yourcompany.atlassian.net) and the email linked to your Atlassian account.
|
||||
3. Paste the API token into the JIRA_API_TOKEN field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Jira"
|
||||
description = "通过 Atlassian MCP 服务器访问 Jira 的工单、项目、看板与 Sprint。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Jira"
|
||||
description = "透過 Atlassian MCP 伺服器存取 Jira 的工單、專案、看板與 Sprint。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Jira"
|
||||
description = "Atlassian MCP サーバー経由で Jira の課題、プロジェクト、ボード、スプリントにアクセス。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Jira"
|
||||
description = "Atlassian MCP 서버를 통해 Jira 이슈, 프로젝트, 보드, 스프린트에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "Jira"
|
||||
description = "Zugriff auf Jira-Vorgänge, -Projekte, -Boards und -Sprints über den Atlassian-MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Jira"
|
||||
description = "Accede a issues, proyectos, tableros y sprints de Jira mediante el servidor MCP de Atlassian."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Jira"
|
||||
description = "Accès aux tickets, projets, tableaux et sprints Jira via le serveur MCP Atlassian."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "linear"
|
||||
name = "Linear"
|
||||
description = "Manage Linear issues, projects, cycles, and teams through the MCP server"
|
||||
category = "devtools"
|
||||
icon = "lucide:ruler"
|
||||
tags = ["project-management", "issues", "agile", "tracking", "sprint"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "linear-mcp@1.2.0"]
|
||||
|
||||
[[required_env]]
|
||||
name = "LINEAR_API_KEY"
|
||||
label = "Linear API Key"
|
||||
help = "A personal API key from your Linear account settings"
|
||||
is_secret = true
|
||||
get_url = "https://linear.app/settings/api"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Open Linear and go to Settings > API (https://linear.app/settings/api).
|
||||
2. Click 'Create key' to generate a new personal API key.
|
||||
3. Paste the key into the LINEAR_API_KEY field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Linear"
|
||||
description = "通过 MCP 服务器管理 Linear 的 Issue、项目、Cycle 与团队。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Linear"
|
||||
description = "透過 MCP 伺服器管理 Linear 的 Issue、專案、Cycle 與團隊。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Linear"
|
||||
description = "MCP サーバー経由で Linear の Issue、プロジェクト、サイクル、チームを管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Linear"
|
||||
description = "MCP 서버를 통해 Linear 이슈, 프로젝트, 사이클, 팀을 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Linear"
|
||||
description = "Verwaltet Linear-Issues, -Projekte, -Zyklen und -Teams über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Linear"
|
||||
description = "Gestiona issues, proyectos, ciclos y equipos de Linear mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Linear"
|
||||
description = "Gère les issues, projets, cycles et équipes Linear via le serveur MCP."
|
||||
@@ -0,0 +1,61 @@
|
||||
id = "memory"
|
||||
name = "Memory (Knowledge Graph)"
|
||||
description = "Persistent knowledge graph that lets agents store and retrieve facts, entities, and relationships across sessions"
|
||||
category = "ai"
|
||||
icon = "🧠"
|
||||
tags = ["memory", "knowledge-graph", "persistence", "facts", "entities"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-memory@latest"]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
No API key required. Stores a knowledge graph locally in JSON format.
|
||||
|
||||
Default storage: the server's working directory. To persist to a specific path, set:
|
||||
|
||||
```toml
|
||||
[[mcp_servers]]
|
||||
name = "memory"
|
||||
env = ["MEMORY_FILE_PATH=/path/to/memory.json"]
|
||||
|
||||
[mcp_servers.transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-memory@latest"]
|
||||
```
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Memory (知识图谱)"
|
||||
description = "持久化知识图谱,让 Agent 跨会话存取事实、实体与关系。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Memory (知識圖譜)"
|
||||
description = "持久化知識圖譜,讓 Agent 跨會話存取事實、實體與關係。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Memory (ナレッジグラフ)"
|
||||
description = "セッションを跨いで事実・エンティティ・関係を保存・参照できる永続ナレッジグラフ。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Memory (지식 그래프)"
|
||||
description = "세션 간에 사실, 엔티티, 관계를 저장 및 조회할 수 있는 영구 지식 그래프."
|
||||
|
||||
[i18n.de]
|
||||
name = "Memory (Wissensgraph)"
|
||||
description = "Persistenter Wissensgraph, in dem Agenten Fakten, Entitäten und Beziehungen über Sitzungen hinweg speichern."
|
||||
|
||||
[i18n.es]
|
||||
name = "Memory (grafo de conocimiento)"
|
||||
description = "Grafo de conocimiento persistente para almacenar hechos, entidades y relaciones entre sesiones."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Memory (graphe de connaissances)"
|
||||
description = "Graphe de connaissances persistant pour stocker faits, entités et relations entre sessions."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "mongodb"
|
||||
name = "MongoDB"
|
||||
description = "Query and manage MongoDB databases and collections through the MCP server"
|
||||
category = "data"
|
||||
icon = "lucide:leaf"
|
||||
tags = ["database", "nosql", "document", "mongo", "queries"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@mongodb-js/mongodb-mcp-server@0.0.3"]
|
||||
|
||||
[[required_env]]
|
||||
name = "MONGODB_URI"
|
||||
label = "MongoDB Connection URI"
|
||||
help = "A full MongoDB connection string (e.g., mongodb+srv://<user>:<password>@<cluster>.mongodb.net/<dbname>)"
|
||||
is_secret = true
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Obtain your MongoDB connection URI from MongoDB Atlas (Clusters > Connect > Drivers) or your self-hosted instance.
|
||||
2. Ensure the database user has the necessary read/write permissions for the collections you want to access.
|
||||
3. Paste the full connection URI into the MONGODB_URI field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "MongoDB"
|
||||
description = "通过 MCP 服务器查询与管理 MongoDB 数据库和集合。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "MongoDB"
|
||||
description = "透過 MCP 伺服器查詢與管理 MongoDB 資料庫和集合。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "MongoDB"
|
||||
description = "MCP サーバー経由で MongoDB のデータベースとコレクションを問い合わせ・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "MongoDB"
|
||||
description = "MCP 서버를 통해 MongoDB 데이터베이스와 컬렉션을 조회 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "MongoDB"
|
||||
description = "MongoDB-Datenbanken und Collections über den MCP-Server abfragen und verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "MongoDB"
|
||||
description = "Consulta y gestiona bases de datos y colecciones de MongoDB mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "MongoDB"
|
||||
description = "Interroge et gère les bases et collections MongoDB via le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "notion"
|
||||
name = "Notion"
|
||||
description = "Access and manage Notion pages, databases, and blocks through the MCP server"
|
||||
category = "productivity"
|
||||
icon = "lucide:file-text"
|
||||
tags = ["notes", "wiki", "knowledge-base", "documentation", "databases"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@notionhq/notion-mcp-server@2.2.1"]
|
||||
|
||||
[[required_env]]
|
||||
name = "NOTION_API_KEY"
|
||||
label = "Notion Integration Token"
|
||||
help = "An internal integration token created in your Notion workspace settings"
|
||||
is_secret = true
|
||||
get_url = "https://www.notion.so/my-integrations"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://www.notion.so/my-integrations and click 'New integration'.
|
||||
2. Give it a name, select your workspace, and grant the required capabilities (Read/Update/Insert content).
|
||||
3. Copy the Internal Integration Token and paste it into the NOTION_API_KEY field above. Then share relevant pages with the integration in Notion.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Notion"
|
||||
description = "通过 MCP 服务器访问和管理 Notion 的页面、数据库与区块。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Notion"
|
||||
description = "透過 MCP 伺服器存取並管理 Notion 的頁面、資料庫與區塊。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Notion"
|
||||
description = "MCP サーバー経由で Notion のページ、データベース、ブロックにアクセス・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Notion"
|
||||
description = "MCP 서버를 통해 Notion 페이지, 데이터베이스, 블록에 접근 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Notion"
|
||||
description = "Zugriff und Verwaltung von Notion-Seiten, -Datenbanken und -Blöcken über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Notion"
|
||||
description = "Accede y gestiona páginas, bases de datos y bloques de Notion mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Notion"
|
||||
description = "Accès et gestion des pages, bases et blocs Notion via le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "postgresql"
|
||||
name = "PostgreSQL"
|
||||
description = "Query and manage PostgreSQL databases through the MCP server"
|
||||
category = "data"
|
||||
icon = "lucide:database"
|
||||
tags = ["database", "sql", "relational", "postgres", "queries"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-postgres@0.6.2"]
|
||||
|
||||
[[required_env]]
|
||||
name = "POSTGRES_CONNECTION_STRING"
|
||||
label = "PostgreSQL Connection String"
|
||||
help = "A full connection URI (e.g., postgresql://user:password@host:5432/dbname)"
|
||||
is_secret = true
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Obtain your PostgreSQL connection string in the format: postgresql://user:password@host:5432/dbname.
|
||||
2. Ensure the database user has the necessary read/write permissions for the tables you want to access.
|
||||
3. Paste the full connection string into the POSTGRES_CONNECTION_STRING field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "PostgreSQL"
|
||||
description = "通过 MCP 服务器查询与管理 PostgreSQL 数据库。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "PostgreSQL"
|
||||
description = "透過 MCP 伺服器查詢與管理 PostgreSQL 資料庫。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "PostgreSQL"
|
||||
description = "MCP サーバー経由で PostgreSQL データベースを問い合わせ・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "PostgreSQL"
|
||||
description = "MCP 서버를 통해 PostgreSQL 데이터베이스를 조회 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "PostgreSQL"
|
||||
description = "PostgreSQL-Datenbanken über den MCP-Server abfragen und verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "PostgreSQL"
|
||||
description = "Consulta y gestiona bases de datos PostgreSQL mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "PostgreSQL"
|
||||
description = "Interroge et gère les bases PostgreSQL via le serveur MCP."
|
||||
@@ -0,0 +1,61 @@
|
||||
id = "puppeteer"
|
||||
name = "Puppeteer"
|
||||
description = "Control a headless Chrome browser — navigate pages, take screenshots, fill forms, and scrape JavaScript-rendered content"
|
||||
category = "devtools"
|
||||
icon = "🤖"
|
||||
tags = [
|
||||
"browser",
|
||||
"puppeteer",
|
||||
"headless",
|
||||
"screenshot",
|
||||
"scraping",
|
||||
"automation",
|
||||
"chrome",
|
||||
]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-puppeteer@latest"]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
Requires Chrome or Chromium to be installed:
|
||||
- macOS: `brew install --cask google-chrome`
|
||||
- Ubuntu/Debian: `sudo apt install chromium-browser`
|
||||
- Docker: add `--cap-add=SYS_ADMIN` to your container run command
|
||||
|
||||
No API key required.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Puppeteer"
|
||||
description = "驱动无头 Chrome —— 导航页面、截图、填表并抓取 JavaScript 渲染后的内容。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Puppeteer"
|
||||
description = "驅動無頭 Chrome —— 導航頁面、截圖、填表並擷取 JavaScript 渲染後的內容。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Puppeteer"
|
||||
description = "ヘッドレス Chrome を操作 —— ページ遷移、スクリーンショット、フォーム入力、JS レンダリング済みコンテンツのスクレイピング。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Puppeteer"
|
||||
description = "헤드리스 Chrome 제어 —— 페이지 이동, 스크린샷, 폼 입력, JS 렌더링 콘텐츠 스크래핑."
|
||||
|
||||
[i18n.de]
|
||||
name = "Puppeteer"
|
||||
description = "Steuert Headless-Chrome — Seiten navigieren, Screenshots, Formulare ausfüllen, JS-gerenderte Inhalte scrapen."
|
||||
|
||||
[i18n.es]
|
||||
name = "Puppeteer"
|
||||
description = "Controla Chrome headless: navegación, capturas, formularios y scraping de contenido renderizado por JavaScript."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Puppeteer"
|
||||
description = "Pilote un Chrome headless — navigation, captures, remplissage de formulaires, scraping de contenu rendu par JS."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "redis"
|
||||
name = "Redis"
|
||||
description = "Access and manage Redis key-value stores through the MCP server"
|
||||
category = "data"
|
||||
icon = "lucide:circle"
|
||||
tags = ["database", "cache", "key-value", "in-memory", "nosql"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-redis@2025.4.25"]
|
||||
|
||||
[[required_env]]
|
||||
name = "REDIS_URL"
|
||||
label = "Redis Connection URL"
|
||||
help = "A Redis connection URL (e.g., redis://user:password@host:6379/0)"
|
||||
is_secret = true
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Obtain your Redis connection URL from your Redis hosting provider or local instance (e.g., redis://localhost:6379/0).
|
||||
2. If authentication is required, include the password in the URL: redis://user:password@host:6379/0.
|
||||
3. Paste the full connection URL into the REDIS_URL field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Redis"
|
||||
description = "通过 MCP 服务器访问和管理 Redis 键值存储。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Redis"
|
||||
description = "透過 MCP 伺服器存取並管理 Redis 鍵值儲存。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Redis"
|
||||
description = "MCP サーバー経由で Redis のキーバリューストアにアクセス・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Redis"
|
||||
description = "MCP 서버를 통해 Redis 키-값 저장소에 접근 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Redis"
|
||||
description = "Zugriff und Verwaltung von Redis-Key-Value-Stores über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Redis"
|
||||
description = "Accede y gestiona almacenes clave-valor de Redis mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Redis"
|
||||
description = "Accès et gestion des magasins clé-valeur Redis via le serveur MCP."
|
||||
@@ -0,0 +1,64 @@
|
||||
id = "sentry"
|
||||
name = "Sentry"
|
||||
description = "Monitor and manage Sentry error tracking, issues, and releases through the MCP server"
|
||||
category = "devtools"
|
||||
icon = "lucide:bug"
|
||||
tags = ["monitoring", "errors", "debugging", "observability", "apm"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@sentry/mcp-server@0.30.0"]
|
||||
|
||||
[[required_env]]
|
||||
name = "SENTRY_AUTH_TOKEN"
|
||||
label = "Sentry Auth Token"
|
||||
help = "An authentication token with project:read and event:read scopes"
|
||||
is_secret = true
|
||||
get_url = "https://sentry.io/settings/account/api/auth-tokens/"
|
||||
|
||||
[[required_env]]
|
||||
name = "SENTRY_ORG_SLUG"
|
||||
label = "Sentry Organization Slug"
|
||||
help = "Your Sentry organization slug (found in Settings > General)"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to Sentry > Settings > Auth Tokens (https://sentry.io/settings/account/api/auth-tokens/) and create a new token with 'project:read' and 'event:read' scopes.
|
||||
2. Find your organization slug in Sentry > Settings > General Settings.
|
||||
3. Paste the auth token and organization slug into the fields above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Sentry"
|
||||
description = "通过 MCP 服务器监控与管理 Sentry 的错误追踪、Issue 与发布。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Sentry"
|
||||
description = "透過 MCP 伺服器監控與管理 Sentry 的錯誤追蹤、Issue 與發佈。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Sentry"
|
||||
description = "MCP サーバー経由で Sentry のエラートラッキング、Issue、リリースを監視・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Sentry"
|
||||
description = "MCP 서버를 통해 Sentry의 오류 추적, 이슈, 릴리스를 모니터링 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Sentry"
|
||||
description = "Sentry-Fehlertracking, -Issues und -Releases über den MCP-Server überwachen und verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "Sentry"
|
||||
description = "Monitoriza y gestiona errores, issues y releases de Sentry mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Sentry"
|
||||
description = "Supervise et gère le tracking d’erreurs, issues et releases Sentry via le serveur MCP."
|
||||
@@ -0,0 +1,51 @@
|
||||
id = "sequential-thinking"
|
||||
name = "Sequential Thinking"
|
||||
description = "Structured multi-step reasoning tool — breaks complex problems into revisable thought chains before answering"
|
||||
category = "ai"
|
||||
icon = "🔗"
|
||||
tags = ["reasoning", "thinking", "chain-of-thought", "planning", "logic"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-sequential-thinking@latest"]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
No API key required.
|
||||
|
||||
Useful for complex reasoning tasks: multi-step math, logic puzzles, planning, debugging.
|
||||
The agent can revise earlier steps as it learns more during the thought chain.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Sequential Thinking"
|
||||
description = "结构化的多步推理工具 —— 在回答前把复杂问题拆成可修订的思维链。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Sequential Thinking"
|
||||
description = "結構化多步推理工具 —— 回答前將複雜問題拆成可修訂的思維鏈。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Sequential Thinking"
|
||||
description = "構造化された多段推論ツール —— 回答前に複雑な問題を修正可能な思考チェーンに分解。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Sequential Thinking"
|
||||
description = "구조화된 다단계 추론 도구 —— 답변 전에 복잡한 문제를 수정 가능한 사고 체인으로 분해."
|
||||
|
||||
[i18n.de]
|
||||
name = "Sequential Thinking"
|
||||
description = "Strukturiertes mehrstufiges Reasoning — komplexe Probleme in überarbeitbare Gedankenketten zerlegen."
|
||||
|
||||
[i18n.es]
|
||||
name = "Sequential Thinking"
|
||||
description = "Razonamiento estructurado multi-paso: descompone problemas complejos en cadenas de pensamiento revisables antes de responder."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Sequential Thinking"
|
||||
description = "Raisonnement multi-étapes structuré : décompose les problèmes complexes en chaînes de pensée révisables avant de répondre."
|
||||
@@ -0,0 +1,70 @@
|
||||
id = "slack"
|
||||
name = "Slack"
|
||||
description = "Access Slack channels, messages, and users through the MCP server"
|
||||
category = "communication"
|
||||
icon = "lucide:message-circle"
|
||||
tags = ["chat", "messaging", "team", "channels", "collaboration"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-slack@2025.4.25"]
|
||||
|
||||
[[required_env]]
|
||||
name = "SLACK_BOT_TOKEN"
|
||||
label = "Slack Bot Token"
|
||||
help = "A bot user OAuth token starting with xoxb-"
|
||||
is_secret = true
|
||||
get_url = "https://api.slack.com/apps"
|
||||
|
||||
[[required_env]]
|
||||
name = "SLACK_TEAM_ID"
|
||||
label = "Slack Team ID"
|
||||
help = "Your Slack workspace team ID (found in workspace settings or URL)"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[oauth]
|
||||
provider = "slack"
|
||||
scopes = ["channels:read", "chat:write", "users:read"]
|
||||
auth_url = "https://slack.com/oauth/v2/authorize"
|
||||
token_url = "https://slack.com/api/oauth.v2.access"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Go to https://api.slack.com/apps and create a new Slack app (or use an existing one). Add the 'channels:read', 'chat:write', and 'users:read' bot token scopes.
|
||||
2. Install the app to your workspace and copy the Bot User OAuth Token (starts with xoxb-).
|
||||
3. Paste the bot token and your workspace Team ID into the fields above, or use the OAuth flow to authorize directly.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Slack"
|
||||
description = "通过 MCP 服务器访问 Slack 频道、消息与用户。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Slack"
|
||||
description = "透過 MCP 伺服器存取 Slack 頻道、訊息與使用者。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Slack"
|
||||
description = "MCP サーバー経由で Slack のチャンネル、メッセージ、ユーザーにアクセス。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Slack"
|
||||
description = "MCP 서버를 통해 Slack 채널, 메시지, 사용자에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "Slack"
|
||||
description = "Zugriff auf Slack-Kanäle, -Nachrichten und -Nutzer über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Slack"
|
||||
description = "Accede a canales, mensajes y usuarios de Slack mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Slack"
|
||||
description = "Accès aux salons, messages et utilisateurs Slack via le serveur MCP."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "sqlite-mcp"
|
||||
name = "SQLite"
|
||||
description = "Query and manage local SQLite databases through the MCP server"
|
||||
category = "data"
|
||||
icon = "lucide:save"
|
||||
tags = ["database", "sql", "relational", "sqlite", "local", "embedded"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "@modelcontextprotocol/server-sqlite"]
|
||||
|
||||
[[required_env]]
|
||||
name = "SQLITE_DB_PATH"
|
||||
label = "SQLite Database Path"
|
||||
help = "Absolute path to the SQLite database file (e.g., /home/user/data/mydb.sqlite)"
|
||||
is_secret = false
|
||||
get_url = ""
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Locate the SQLite database file you want to connect to on your local filesystem.
|
||||
2. Enter the absolute path to the database file in the SQLITE_DB_PATH field above.
|
||||
3. Ensure the file has appropriate read/write permissions for the LibreFang process.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "SQLite"
|
||||
description = "通过 MCP 服务器查询与管理本地 SQLite 数据库。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "SQLite"
|
||||
description = "透過 MCP 伺服器查詢與管理本地 SQLite 資料庫。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "SQLite"
|
||||
description = "MCP サーバー経由でローカルの SQLite データベースを問い合わせ・管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "SQLite"
|
||||
description = "MCP 서버를 통해 로컬 SQLite 데이터베이스를 조회 및 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "SQLite"
|
||||
description = "Lokale SQLite-Datenbanken über den MCP-Server abfragen und verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "SQLite"
|
||||
description = "Consulta y gestiona bases de datos SQLite locales mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "SQLite"
|
||||
description = "Interroge et gère les bases SQLite locales via le serveur MCP."
|
||||
@@ -0,0 +1,56 @@
|
||||
id = "teams-mcp"
|
||||
name = "Microsoft Teams"
|
||||
description = "Access Microsoft Teams channels, chats, and messages through the MCP server"
|
||||
category = "communication"
|
||||
icon = "lucide:users"
|
||||
tags = ["chat", "messaging", "microsoft", "enterprise", "collaboration"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "teams-mcp@0.3.3"]
|
||||
|
||||
[oauth]
|
||||
provider = "microsoft"
|
||||
scopes = ["Team.ReadBasic.All", "Chat.ReadWrite"]
|
||||
auth_url = "https://login.microsoftonline.com/common/oauth2/v2.0/authorize"
|
||||
token_url = "https://login.microsoftonline.com/common/oauth2/v2.0/token"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Click 'Connect' to initiate the OAuth flow with your Microsoft account.
|
||||
2. Sign in with your Microsoft 365 account and grant LibreFang permission to read teams and read/write chats.
|
||||
3. The connection will be established automatically after authorization.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Microsoft Teams"
|
||||
description = "通过 MCP 服务器访问 Microsoft Teams 的频道、聊天与消息。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Microsoft Teams"
|
||||
description = "透過 MCP 伺服器存取 Microsoft Teams 的頻道、聊天與訊息。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Microsoft Teams"
|
||||
description = "MCP サーバー経由で Microsoft Teams のチャンネル、チャット、メッセージにアクセス。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Microsoft Teams"
|
||||
description = "MCP 서버를 통해 Microsoft Teams 채널, 채팅, 메시지에 접근."
|
||||
|
||||
[i18n.de]
|
||||
name = "Microsoft Teams"
|
||||
description = "Zugriff auf Microsoft-Teams-Kanäle, -Chats und -Nachrichten über den MCP-Server."
|
||||
|
||||
[i18n.es]
|
||||
name = "Microsoft Teams"
|
||||
description = "Accede a canales, chats y mensajes de Microsoft Teams mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Microsoft Teams"
|
||||
description = "Accès aux canaux, discussions et messages Microsoft Teams via le serveur MCP."
|
||||
@@ -0,0 +1,63 @@
|
||||
id = "time"
|
||||
name = "Time & Timezone"
|
||||
description = "Get current time in any timezone, convert between timezones, and calculate time differences"
|
||||
category = "productivity"
|
||||
icon = "🕐"
|
||||
tags = ["time", "timezone", "clock", "datetime", "conversion"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "uvx"
|
||||
args = ["mcp-server-time", "--local-timezone", "UTC"]
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
No API key required. Requires `uv`:
|
||||
- macOS/Linux: `curl -LsSf https://astral.sh/uv/install.sh | sh`
|
||||
|
||||
To set your local timezone, update config.toml:
|
||||
|
||||
```toml
|
||||
[[mcp_servers]]
|
||||
name = "time"
|
||||
|
||||
[mcp_servers.transport]
|
||||
type = "stdio"
|
||||
command = "uvx"
|
||||
args = ["mcp-server-time", "--local-timezone", "Asia/Shanghai"]
|
||||
```
|
||||
|
||||
Supports all IANA timezone names (e.g. `America/New_York`, `Europe/London`, `Asia/Tokyo`).
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "时间 & 时区"
|
||||
description = "获取任意时区的当前时间、时区换算与时差计算。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "時間 & 時區"
|
||||
description = "取得任意時區的目前時間、時區轉換與時差計算。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "時刻 & タイムゾーン"
|
||||
description = "任意のタイムゾーンの現在時刻取得、タイムゾーン変換、時差計算。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "시간 & 타임존"
|
||||
description = "임의 타임존의 현재 시간 조회, 타임존 변환, 시차 계산."
|
||||
|
||||
[i18n.de]
|
||||
name = "Zeit & Zeitzone"
|
||||
description = "Aktuelle Uhrzeit in beliebigen Zeitzonen, Zeitzonenumrechnung und Zeitdifferenzberechnung."
|
||||
|
||||
[i18n.es]
|
||||
name = "Hora y zona horaria"
|
||||
description = "Hora actual en cualquier zona horaria, conversión entre zonas y cálculo de diferencias."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Heure & Fuseau"
|
||||
description = "Heure actuelle dans n'importe quel fuseau, conversion entre fuseaux et calcul des différences."
|
||||
@@ -0,0 +1,57 @@
|
||||
id = "todoist"
|
||||
name = "Todoist"
|
||||
description = "Manage Todoist tasks, projects, and labels through the MCP server"
|
||||
category = "productivity"
|
||||
icon = "lucide:check-circle"
|
||||
tags = ["tasks", "todo", "project-management", "productivity", "gtd"]
|
||||
|
||||
[transport]
|
||||
type = "stdio"
|
||||
command = "npx"
|
||||
args = ["-y", "todoist-mcp@1.3.0"]
|
||||
|
||||
[[required_env]]
|
||||
name = "TODOIST_API_KEY"
|
||||
label = "Todoist API Token"
|
||||
help = "Your personal API token from Todoist settings"
|
||||
is_secret = true
|
||||
get_url = "https://todoist.com/prefs/integrations"
|
||||
|
||||
[health_check]
|
||||
interval_secs = 60
|
||||
unhealthy_threshold = 3
|
||||
|
||||
setup_instructions = """
|
||||
1. Open Todoist and go to Settings > Integrations > Developer (https://todoist.com/prefs/integrations).
|
||||
2. Copy your API token from the 'API token' section.
|
||||
3. Paste the token into the TODOIST_API_KEY field above.
|
||||
"""
|
||||
|
||||
|
||||
[i18n.zh]
|
||||
name = "Todoist"
|
||||
description = "通过 MCP 服务器管理 Todoist 的任务、项目与标签。"
|
||||
|
||||
[i18n.zh-TW]
|
||||
name = "Todoist"
|
||||
description = "透過 MCP 伺服器管理 Todoist 的任務、專案與標籤。"
|
||||
|
||||
[i18n.ja]
|
||||
name = "Todoist"
|
||||
description = "MCP サーバー経由で Todoist のタスク、プロジェクト、ラベルを管理。"
|
||||
|
||||
[i18n.ko]
|
||||
name = "Todoist"
|
||||
description = "MCP 서버를 통해 Todoist 작업, 프로젝트, 라벨을 관리."
|
||||
|
||||
[i18n.de]
|
||||
name = "Todoist"
|
||||
description = "Todoist-Aufgaben, -Projekte und -Labels über den MCP-Server verwalten."
|
||||
|
||||
[i18n.es]
|
||||
name = "Todoist"
|
||||
description = "Gestiona tareas, proyectos y etiquetas de Todoist mediante el servidor MCP."
|
||||
|
||||
[i18n.fr]
|
||||
name = "Todoist"
|
||||
description = "Gère les tâches, projets et étiquettes Todoist via le serveur MCP."
|
||||
Reference in new issue
Block a user