发现优秀的 MCP 服务器

通过 MCP 服务器扩展您的代理能力,拥有 86,267 个能力。

全部86,267
Graph-Memory

Graph-Memory

Self-hosted personal knowledge graph for Claude that persists across sessions, devices, and tools. Built on Neo4j with local semantic embeddings; OAuth 2.1 lets Claude Code, Claude Desktop, and claude.ai web all hit the same graph.

Cartesi Knowledge MCP Server

Cartesi Knowledge MCP Server

Enables AI agents to query curated Cartesi developer resources, documentation, and repository metadata through the Model Context Protocol. Provides read-only knowledge access and host-side workflow guidance for building Cartesi blockchain applications via streamable HTTP.

WHOOP MCP Server for Poke

WHOOP MCP Server for Poke

Connects WHOOP fitness data to Poke AI assistant, enabling natural language queries for recovery scores, sleep analysis, strain tracking, and healthspan metrics.

Bright MCP

Bright MCP

An MCP server that wraps Bright Data's API to provide web search, data extraction, and dataset discovery tools for AI agents.

create-starter

create-starter

Scaffold and audit Starter Series projects — MCP server, Claude Code skill, and CLI in one package.

Memory MCP Server

Memory MCP Server

A generic MCP memory service that provides AI clients with long-term memory capabilities, including semantic search, categorization, and priority management. Supports both local JSON and cloud PostgreSQL storage.

rippr

rippr

Extract YouTube transcripts for AI agents, RAG pipelines, and LLM workflows. Supports any YouTube URL. Returns clean text or timestamped segments. No API keys required.

anneal-memory

anneal-memory

Two-layer memory for AI agents. Episodes compress into identity. The only MCP memory server with an immune system. Patterns earn permanence through evidence, false knowledge gets caught and demoted, and stale information fades — so your agent's memory gets smarter over time, not just bigger. Zero dependencies. 5 tools. Works with any MCP client.

MCP Code Analyzer

MCP Code Analyzer

An orchestrator that coordinates multiple security and quality tools like Semgrep and ESLint to provide comprehensive code analysis and scoring. It enables users to perform vulnerability scanning, architecture metrics, and impact analysis through CLI, REST, or MCP interfaces.

JW Research MCP

JW Research MCP

A remote MCP server for traceable research across JW.org and the Watchtower Online Library, providing tools for searching, retrieving articles, footnotes, cross-references, and daily texts with optional AI-powered synthesis.

Redbark MCP Server

Redbark MCP Server

Connect AI agents to your Australian bank and global brokerage data — live balances, transactions, holdings, and trades over the Model Context Protocol.

Conductor

Conductor

Provides a persistent hierarchical task tree for LLM agents, enabling them to decompose work, track progress, record results, and handle failures outside the context window, with an optional web UI for monitoring and control.

DIDA Hotel MCP

DIDA Hotel MCP

Enables AI agents to search, compare, and book hotels with real-time pricing and availability, supporting multiple location types, star ratings, and price filters.

docpull

docpull

DocPull v6 is a local-first MCP server that turns public web sources into cited, versioned context packs for AI agents, RAG systems, and developer workflows. It can fetch and sync public static and server-rendered sources such as changelogs, standards, API references, OpenAPI specs, feeds, repo/package metadata, papers, filings, pricing pages, blogs, and other web sources.

laviya-mcp-server

laviya-mcp-server

A production-oriented MCP runtime providing orchestration tools for IDE and agent integrations, including task management, diagnostics, and token usage reporting.

Dad Jokes MCP Server

Dad Jokes MCP Server

Provides dad jokes in multiple styles and topics through prompts and tools, including joke generation, rating, category browsing, and statistics to add humor to development workflows.

App Store Connect MCP Server

App Store Connect MCP Server

Enables AI assistants to manage Apple App Store Connect resources like apps, builds, TestFlight, and reviews through natural language.

maltego-mcp

maltego-mcp

Enables LLMs to author Maltego .mtgx graph files and perform OSINT lookups, with an optional transform layer for pivoting into MISP, TheHive, Cortex, and MITRE ATT\&CK directly in Maltego Desktop.

🤖 Deno Model Context Protocol (MCP) Agent Template Repository

🤖 Deno Model Context Protocol (MCP) Agent Template Repository

好的,这是用 Deno 实现的模板 Model Context Protocol (MCP) 服务器: ```typescript import { serve } from "https://deno.land/std@0.177.1/http/server.ts"; import { acceptWebSocket, isWebSocketCloseEvent, WebSocket, } from "https://deno.land/std@0.177.1/ws/mod.ts"; // 定义 MCP 消息类型 interface MCPMessage { type: string; data: any; } // 处理 WebSocket 连接 async function handleWebSocket(ws: WebSocket) { console.log("WebSocket connected"); try { for await (const event of ws) { if (typeof event === "string") { // 处理文本消息 try { const message: MCPMessage = JSON.parse(event); console.log("Received message:", message); // 根据消息类型进行处理 switch (message.type) { case "ping": // 响应 ping 消息 ws.send(JSON.stringify({ type: "pong" })); break; case "model_request": // 处理模型请求 const modelResponse = await processModelRequest(message.data); ws.send(JSON.stringify({ type: "model_response", data: modelResponse })); break; default: console.warn("Unknown message type:", message.type); ws.send(JSON.stringify({ type: "error", data: "Unknown message type" })); } } catch (error) { console.error("Error parsing message:", error); ws.send(JSON.stringify({ type: "error", data: "Invalid message format" })); } } else if (isWebSocketCloseEvent(event)) { // 处理 WebSocket 关闭事件 const { code, reason } = event; console.log("WebSocket closed:", code, reason); } } } catch (error) { console.error("Error handling WebSocket:", error); try { ws.close(1011, "Internal Server Error"); // 1011 表示服务器遇到了意外情况,阻止其完成请求。 } catch (_ignore) { // 忽略关闭错误,因为连接可能已经关闭 } } } // 模拟模型请求处理函数 async function processModelRequest(requestData: any): Promise<any> { // 在这里实现你的模型处理逻辑 console.log("Processing model request:", requestData); // 模拟延迟 await new Promise((resolve) => setTimeout(resolve, 500)); // 模拟模型响应 return { result: "Model processing successful", data: { input: requestData, output: "This is a simulated model output.", }, }; } // HTTP 请求处理函数 async function handleHttpRequest(request: Request): Promise<Response> { if (request.headers.get("upgrade") === "websocket") { // 处理 WebSocket 连接 const { socket, response } = Deno.upgradeWebSocket(request); handleWebSocket(socket); return response; } else { // 处理 HTTP 请求 return new Response("Hello, Deno! This is a Model Context Protocol server.", { headers: { "content-type": "text/plain" }, }); } } // 启动服务器 const port = 8080; console.log(`Server listening on port ${port}`); await serve(handleHttpRequest, { port }); ``` **代码解释:** 1. **导入必要的模块:** - `serve` 来自 `https://deno.land/std@0.177.1/http/server.ts` 用于启动 HTTP 服务器。 - `acceptWebSocket`, `isWebSocketCloseEvent`, `WebSocket` 来自 `https://deno.land/std@0.177.1/ws/mod.ts` 用于处理 WebSocket 连接。 2. **定义 `MCPMessage` 接口:** - 定义了 MCP 消息的结构,包含 `type` (字符串类型) 和 `data` (任意类型) 两个字段。 3. **`handleWebSocket(ws: WebSocket)` 函数:** - 处理 WebSocket 连接的逻辑。 - 使用 `for await (const event of ws)` 循环监听 WebSocket 事件。 - **处理文本消息 (`typeof event === "string"`):** - 使用 `JSON.parse(event)` 将文本消息解析为 `MCPMessage` 对象。 - 使用 `switch` 语句根据 `message.type` 进行不同的处理: - `ping`: 响应 `pong` 消息。 - `model_request`: 调用 `processModelRequest` 函数处理模型请求,并将响应发送回客户端。 - `default`: 处理未知消息类型,并发送错误消息。 - 使用 `try...catch` 块捕获 JSON 解析错误。 - **处理 WebSocket 关闭事件 (`isWebSocketCloseEvent(event)`):** - 记录关闭代码和原因。 - 使用 `try...catch` 块捕获 WebSocket 处理过程中的错误,并尝试关闭连接。 4. **`processModelRequest(requestData: any): Promise<any>` 函数:** - **模拟** 模型请求处理逻辑。 - 接受 `requestData` 作为输入。 - 使用 `await new Promise((resolve) => setTimeout(resolve, 500))` 模拟延迟。 - 返回一个包含 `result` 和 `data` 的模拟响应。 - **你需要根据你的实际模型处理逻辑替换此函数的内容。** 5. **`handleHttpRequest(request: Request): Promise<Response>` 函数:** - 处理 HTTP 请求的逻辑。 - **WebSocket 升级:** - 检查请求头中是否包含 `upgrade: websocket`。 - 如果是,则使用 `Deno.upgradeWebSocket(request)` 将 HTTP 连接升级为 WebSocket 连接。 - 调用 `handleWebSocket(socket)` 处理 WebSocket 连接。 - 返回 `response` 对象。 - **HTTP 请求处理:** - 如果不是 WebSocket 升级请求,则返回一个简单的 "Hello, Deno!" 响应。 6. **启动服务器:** - 定义服务器监听的端口号 `port = 8080`。 - 使用 `console.log` 打印服务器启动信息。 - 使用 `await serve(handleHttpRequest, { port })` 启动服务器,并传入 HTTP 请求处理函数和端口号。 **如何运行:** 1. **保存代码:** 将代码保存为 `mcp_server.ts` 文件。 2. **运行命令:** 在终端中运行以下命令: ```bash deno run --allow-net mcp_server.ts ``` - `--allow-net` 标志允许 Deno 程序访问网络。 **如何测试:** 你可以使用 WebSocket 客户端(例如 wscat 或 Postman)连接到服务器,并发送 MCP 消息进行测试。 **示例 WebSocket 客户端交互:** 1. **连接:** 连接到 `ws://localhost:8080`。 2. **发送 ping 消息:** ```json {"type": "ping"} ``` 3. **接收 pong 消息:** ```json {"type": "pong"} ``` 4. **发送模型请求消息:** ```json {"type": "model_request", "data": {"input_data": "example input"}} ``` 5. **接收模型响应消息:** ```json {"type": "model_response", "data": {"result": "Model processing successful", "data": {"input": {"input_data": "example input"}, "output": "This is a simulated model output."}}} ``` **重要提示:** - **替换 `processModelRequest` 函数:** 你需要根据你的实际模型处理逻辑替换 `processModelRequest` 函数的内容。 - **错误处理:** 在实际应用中,你需要添加更完善的错误处理机制。 - **安全性:** 在生产环境中,你需要考虑安全性问题,例如身份验证和授权。 - **依赖管理:** Deno 使用 URL 作为依赖项,因此你需要确保你的依赖项 URL 是正确的。 **中文翻译:** 好的,这是一个用 Deno 实现的模板模型上下文协议 (MCP) 服务器: ```typescript import { serve } from "https://deno.land/std@0.177.1/http/server.ts"; import { acceptWebSocket, isWebSocketCloseEvent, WebSocket, } from "https://deno.land/std@0.177.1/ws/mod.ts"; // 定义 MCP 消息类型 interface MCPMessage { type: string; data: any; } // 处理 WebSocket 连接 async function handleWebSocket(ws: WebSocket) { console.log("WebSocket 已连接"); try { for await (const event of ws) { if (typeof event === "string") { // 处理文本消息 try { const message: MCPMessage = JSON.parse(event); console.log("接收到的消息:", message); // 根据消息类型进行处理 switch (message.type) { case "ping": // 响应 ping 消息 ws.send(JSON.stringify({ type: "pong" })); break; case "model_request": // 处理模型请求 const modelResponse = await processModelRequest(message.data); ws.send(JSON.stringify({ type: "model_response", data: modelResponse })); break; default: console.warn("未知消息类型:", message.type); ws.send(JSON.stringify({ type: "error", data: "未知消息类型" })); } } catch (error) { console.error("解析消息时出错:", error); ws.send(JSON.stringify({ type: "error", data: "无效的消息格式" })); } } else if (isWebSocketCloseEvent(event)) { // 处理 WebSocket 关闭事件 const { code, reason } = event; console.log("WebSocket 已关闭:", code, reason); } } } catch (error) { console.error("处理 WebSocket 时出错:", error); try { ws.close(1011, "Internal Server Error"); // 1011 表示服务器遇到了意外情况,阻止其完成请求。 } catch (_ignore) { // 忽略关闭错误,因为连接可能已经关闭 } } } // 模拟模型请求处理函数 async function processModelRequest(requestData: any): Promise<any> { // 在这里实现你的模型处理逻辑 console.log("正在处理模型请求:", requestData); // 模拟延迟 await new Promise((resolve) => setTimeout(resolve, 500)); // 模拟模型响应 return { result: "模型处理成功", data: { input: requestData, output: "这是一个模拟的模型输出。", }, }; } // HTTP 请求处理函数 async function handleHttpRequest(request: Request): Promise<Response> { if (request.headers.get("upgrade") === "websocket") { // 处理 WebSocket 连接 const { socket, response } = Deno.upgradeWebSocket(request); handleWebSocket(socket); return response; } else { // 处理 HTTP 请求 return new Response("你好,Deno!这是一个模型上下文协议服务器。", { headers: { "content-type": "text/plain" }, }); } } // 启动服务器 const port = 8080; console.log(`服务器监听端口 ${port}`); await serve(handleHttpRequest, { port }); ``` **代码解释:** 1. **导入必要的模块:** - `serve` 来自 `https://deno.land/std@0.177.1/http/server.ts` 用于启动 HTTP 服务器。 - `acceptWebSocket`, `isWebSocketCloseEvent`, `WebSocket` 来自 `https://deno.land/std@0.177.1/ws/mod.ts` 用于处理 WebSocket 连接。 2. **定义 `MCPMessage` 接口:** - 定义了 MCP 消息的结构,包含 `type` (字符串类型) 和 `data` (任意类型) 两个字段。 3. **`handleWebSocket(ws: WebSocket)` 函数:** - 处理 WebSocket 连接的逻辑。 - 使用 `for await (const event of ws)` 循环监听 WebSocket 事件。 - **处理文本消息 (`typeof event === "string"`):** - 使用 `JSON.parse(event)` 将文本消息解析为 `MCPMessage` 对象。 - 使用 `switch` 语句根据 `message.type` 进行不同的处理: - `ping`: 响应 `pong` 消息。 - `model_request`: 调用 `processModelRequest` 函数处理模型请求,并将响应发送回客户端。 - `default`: 处理未知消息类型,并发送错误消息。 - 使用 `try...catch` 块捕获 JSON 解析错误。 - **处理 WebSocket 关闭事件 (`isWebSocketCloseEvent(event)`):** - 记录关闭代码和原因。 - 使用 `try...catch` 块捕获 WebSocket 处理过程中的错误,并尝试关闭连接。 4. **`processModelRequest(requestData: any): Promise<any>` 函数:** - **模拟** 模型请求处理逻辑。 - 接受 `requestData` 作为输入。 - 使用 `await new Promise((resolve) => setTimeout(resolve, 500))` 模拟延迟。 - 返回一个包含 `result` 和 `data` 的模拟响应。 - **你需要根据你的实际模型处理逻辑替换此函数的内容。** 5. **`handleHttpRequest(request: Request): Promise<Response>` 函数:** - 处理 HTTP 请求的逻辑。 - **WebSocket 升级:** - 检查请求头中是否包含 `upgrade: websocket`。 - 如果是,则使用 `Deno.upgradeWebSocket(request)` 将 HTTP 连接升级为 WebSocket 连接。 - 调用 `handleWebSocket(socket)` 处理 WebSocket 连接。 - 返回 `response` 对象。 - **HTTP 请求处理:** - 如果不是 WebSocket 升级请求,则返回一个简单的 "你好,Deno!" 响应。 6. **启动服务器:** - 定义服务器监听的端口号 `port = 8080`。 - 使用 `console.log` 打印服务器启动信息。 - 使用 `await serve(handleHttpRequest, { port })` 启动服务器,并传入 HTTP 请求处理函数和端口号。 **如何运行:** 1. **保存代码:** 将代码保存为 `mcp_server.ts` 文件。 2. **运行命令:** 在终端中运行以下命令: ```bash deno run --allow-net mcp_server.ts ``` - `--allow-net` 标志允许 Deno 程序访问网络。 **如何测试:** 你可以使用 WebSocket 客户端(例如 wscat 或 Postman)连接到服务器,并发送 MCP 消息进行测试。 **示例 WebSocket 客户端交互:** 1. **连接:** 连接到 `ws://localhost:8080`。 2. **发送 ping 消息:** ```json {"type": "ping"} ``` 3. **接收 pong 消息:** ```json {"type": "pong"} ``` 4. **发送模型请求消息:** ```json {"type": "model_request", "data": {"input_data": "example input"}} ``` 5. **接收模型响应消息:** ```json {"type": "model_response", "data": {"result": "模型处理成功", "data": {"input": {"input_data": "example input"}, "output": "这是一个模拟的模型输出。"}}} ``` **重要提示:** - **替换 `processModelRequest` 函数:** 你需要根据你的实际模型处理逻辑替换 `processModelRequest` 函数的内容。 - **错误处理:** 在实际应用中,你需要添加更完善的错误处理机制。 - **安全性:** 在生产环境中,你需要考虑安全性问题,例如身份验证和授权。 - **依赖管理:** Deno 使用 URL 作为依赖项,因此你需要确保你的依赖项 URL 是正确的。 This provides a basic template. Remember to replace the placeholder `processModelRequest` function with your actual model processing logic. Also, consider adding more robust error handling and security measures for production use.

mcp-servers

mcp-servers

DocGraph

DocGraph

Enables coding agents to retrieve task-relevant documentation from a repository's markdown files using deterministic keyword search, chunking, and co-location expansion, instead of reading entire docs.

internal-tools

internal-tools

Maps internal API endpoints to agent tools using OpenAPI specs, allowing agents to interact with internal services through natural language without per-agent tool wrappers.

Tshark MCP Server

Tshark MCP Server

Analyzes pcap files using tshark to detect network attacks and security threats.

swisstrip-mcp

swisstrip-mcp

Connects AI assistants to Swiss Federal Railways (SBB/CFF/FFS) data: train schedules, station search, ticket prices, and direct ticket purchase links.

Interactive Clarify

Interactive Clarify

A universal 'Ask User Questions' MCP tool for AI coding agents.

Custom MCP Servers

Custom MCP Servers

我自建的 MCP 服务器合集 🧠⚡️。

PixelLabRat

PixelLabRat

MCP server for generating style-consistent pixel art assets from PixelLab API, with project management, asset review, and an embedded Claude assistant.

pricecharting-api-mcp

pricecharting-api-mcp

Enables Claude Code to interact with PriceCharting pricing data, supporting search, product pricing, categories, and group listings across multiple collectible categories.

Mcp Server Tester

Mcp Server Tester

staruml-controller-dfd-mcp

staruml-controller-dfd-mcp

An MCP server specialized for Data Flow Diagrams, enabling AI assistants to programmatically create and manage DFD elements like external entities, processes, data stores, and data flows in StarUML.