初始化提交
Some checks failed
CI / Check / macos-latest (push) Has been cancelled
CI / Check / ubuntu-latest (push) Has been cancelled
CI / Check / windows-latest (push) Has been cancelled
CI / Test / macos-latest (push) Has been cancelled
CI / Test / ubuntu-latest (push) Has been cancelled
CI / Test / windows-latest (push) Has been cancelled
CI / Clippy (push) Has been cancelled
CI / Format (push) Has been cancelled
CI / Security Audit (push) Has been cancelled
CI / Secrets Scan (push) Has been cancelled
CI / Install Script Smoke Test (push) Has been cancelled

This commit is contained in:
iven
2026-03-01 16:24:24 +08:00
commit 92e5def702
492 changed files with 211343 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
id = "aws"
name = "AWS"
description = "Manage Amazon Web Services resources including S3, EC2, Lambda, and more through the MCP server"
category = "cloud"
icon = "☁️"
tags = ["cloud", "amazon", "infrastructure", "s3", "ec2", "lambda", "devops"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/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.
"""

View File

@@ -0,0 +1,49 @@
id = "azure-mcp"
name = "Microsoft Azure"
description = "Manage Azure resources including VMs, Storage, and App Services through the MCP server"
category = "cloud"
icon = "🔷"
tags = ["cloud", "microsoft", "infrastructure", "azure", "devops", "enterprise"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-azure"]
[[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.
"""

View File

@@ -0,0 +1,35 @@
id = "bitbucket"
name = "Bitbucket"
description = "Access Bitbucket repositories, pull requests, and pipelines through the MCP server"
category = "devtools"
icon = "🪣"
tags = ["git", "vcs", "code", "pull-requests", "ci", "atlassian"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-bitbucket"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "brave-search"
name = "Brave Search"
description = "Perform web searches using the Brave Search API through the MCP server"
category = "ai"
icon = "🦁"
tags = ["search", "web", "brave", "api", "information-retrieval"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-brave-search"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "discord-mcp"
name = "Discord"
description = "Access Discord servers, channels, and messages through the MCP server"
category = "communication"
icon = "🎮"
tags = ["chat", "messaging", "community", "gaming", "voice"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-discord"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "dropbox"
name = "Dropbox"
description = "Access and manage Dropbox files and folders through the MCP server"
category = "productivity"
icon = "📦"
tags = ["files", "storage", "cloud-storage", "sync", "sharing"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-dropbox"]
[[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.
"""

View File

@@ -0,0 +1,35 @@
id = "elasticsearch"
name = "Elasticsearch"
description = "Search and manage Elasticsearch indices and documents through the MCP server"
category = "data"
icon = "🔍"
tags = ["search", "database", "indexing", "analytics", "full-text"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-elasticsearch"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "exa-search"
name = "Exa Search"
description = "Perform AI-powered neural searches and retrieve web content through the Exa MCP server"
category = "ai"
icon = "🔎"
tags = ["search", "web", "ai", "neural", "semantic", "information-retrieval"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-exa"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
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 = "🌐"
tags = ["cloud", "google", "infrastructure", "gce", "gcs", "bigquery", "devops"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-gcp"]
[[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.
"""

View File

@@ -0,0 +1,34 @@
id = "github"
name = "GitHub"
description = "Access GitHub repositories, issues, pull requests, and organizations through the official MCP server"
category = "devtools"
icon = "🐙"
tags = ["git", "vcs", "code", "issues", "pull-requests", "ci"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-github"]
[[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 OpenFang directly with your GitHub account.
"""

View File

@@ -0,0 +1,28 @@
id = "gitlab"
name = "GitLab"
description = "Access GitLab projects, merge requests, issues, and CI/CD pipelines through the MCP server"
category = "devtools"
icon = "🦊"
tags = ["git", "vcs", "code", "merge-requests", "ci", "devops"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-gitlab"]
[[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.
"""

View File

@@ -0,0 +1,27 @@
id = "gmail"
name = "Gmail"
description = "Read, send, and manage Gmail messages and drafts through the Anthropic MCP server"
category = "productivity"
icon = "📧"
tags = ["email", "google", "messaging", "inbox", "communication"]
[transport]
type = "stdio"
command = "npx"
args = ["@anthropic/server-gmail"]
[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 OpenFang permission to read and modify your Gmail messages when prompted.
3. The connection will be established automatically after authorization.
"""

View File

@@ -0,0 +1,27 @@
id = "google-calendar"
name = "Google Calendar"
description = "Manage Google Calendar events, schedules, and availability through the Anthropic MCP server"
category = "productivity"
icon = "📅"
tags = ["calendar", "scheduling", "google", "events", "meetings"]
[transport]
type = "stdio"
command = "npx"
args = ["@anthropic/server-google-calendar"]
[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 OpenFang access to your Google Calendar when prompted.
3. The connection will be established automatically after authorization.
"""

View File

@@ -0,0 +1,27 @@
id = "google-drive"
name = "Google Drive"
description = "Browse, search, and read files from Google Drive through the Anthropic MCP server"
category = "productivity"
icon = "📁"
tags = ["files", "storage", "google", "documents", "cloud-storage"]
[transport]
type = "stdio"
command = "npx"
args = ["@anthropic/server-google-drive"]
[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 OpenFang read-only access to your Google Drive files when prompted.
3. The connection will be established automatically after authorization.
"""

View File

@@ -0,0 +1,42 @@
id = "jira"
name = "Jira"
description = "Access Jira issues, projects, boards, and sprints through the Atlassian MCP server"
category = "devtools"
icon = "📋"
tags = ["project-management", "issues", "agile", "atlassian", "tracking"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-atlassian"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "linear"
name = "Linear"
description = "Manage Linear issues, projects, cycles, and teams through the MCP server"
category = "devtools"
icon = "📐"
tags = ["project-management", "issues", "agile", "tracking", "sprint"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-linear"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "mongodb"
name = "MongoDB"
description = "Query and manage MongoDB databases and collections through the MCP server"
category = "data"
icon = "🍃"
tags = ["database", "nosql", "document", "mongo", "queries"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-mongodb"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "notion"
name = "Notion"
description = "Access and manage Notion pages, databases, and blocks through the MCP server"
category = "productivity"
icon = "📝"
tags = ["notes", "wiki", "knowledge-base", "documentation", "databases"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-notion"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "postgresql"
name = "PostgreSQL"
description = "Query and manage PostgreSQL databases through the MCP server"
category = "data"
icon = "🐘"
tags = ["database", "sql", "relational", "postgres", "queries"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-postgres"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "redis"
name = "Redis"
description = "Access and manage Redis key-value stores through the MCP server"
category = "data"
icon = "🔴"
tags = ["database", "cache", "key-value", "in-memory", "nosql"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-redis"]
[[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.
"""

View File

@@ -0,0 +1,35 @@
id = "sentry"
name = "Sentry"
description = "Monitor and manage Sentry error tracking, issues, and releases through the MCP server"
category = "devtools"
icon = "🐛"
tags = ["monitoring", "errors", "debugging", "observability", "apm"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-sentry"]
[[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.
"""

View File

@@ -0,0 +1,41 @@
id = "slack"
name = "Slack"
description = "Access Slack channels, messages, and users through the MCP server"
category = "communication"
icon = "💬"
tags = ["chat", "messaging", "team", "channels", "collaboration"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-slack"]
[[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.
"""

View File

@@ -0,0 +1,28 @@
id = "sqlite-mcp"
name = "SQLite"
description = "Query and manage local SQLite databases through the MCP server"
category = "data"
icon = "💾"
tags = ["database", "sql", "relational", "sqlite", "local", "embedded"]
[transport]
type = "stdio"
command = "npx"
args = ["@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 OpenFang process.
"""

View File

@@ -0,0 +1,27 @@
id = "teams-mcp"
name = "Microsoft Teams"
description = "Access Microsoft Teams channels, chats, and messages through the MCP server"
category = "communication"
icon = "👥"
tags = ["chat", "messaging", "microsoft", "enterprise", "collaboration"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-teams"]
[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 OpenFang permission to read teams and read/write chats.
3. The connection will be established automatically after authorization.
"""

View File

@@ -0,0 +1,28 @@
id = "todoist"
name = "Todoist"
description = "Manage Todoist tasks, projects, and labels through the MCP server"
category = "productivity"
icon = "✅"
tags = ["tasks", "todo", "project-management", "productivity", "gtd"]
[transport]
type = "stdio"
command = "npx"
args = ["@modelcontextprotocol/server-todoist"]
[[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.
"""