feat(integrations): add 8 missing mainstream MCP server templates (#59)
* feat(integrations): add filesystem, fetch, memory, puppeteer, sequential-thinking, git, google-maps, time * chore(integrations): fix taplo formatting for filesystem and puppeteer
This commit is contained in:
8 files changed
+241
No files matched your search
@@ -0,0 +1,21 @@
|
|||||||
|
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.
|
||||||
|
"""
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
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 = "sh"
|
||||||
|
args = [
|
||||||
|
"-c",
|
||||||
|
"exec npx -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.
|
||||||
|
"""
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
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"]
|
||||||
|
```
|
||||||
|
"""
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
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).
|
||||||
|
"""
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
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"]
|
||||||
|
```
|
||||||
|
"""
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
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.
|
||||||
|
"""
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
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.
|
||||||
|
"""
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
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`).
|
||||||
|
"""
|
||||||
Reference in new issue
Block a user