发现优秀的 MCP 服务器
通过 MCP 服务器扩展您的代理能力,拥有 86,267 个能力。
SRT Translation MCP Server
Enables processing and translating SRT subtitle files with intelligent conversation detection and context preservation. Supports parsing, validation, chunking of large files, and translation while maintaining precise timing and HTML formatting.
MCP Servers Search
Enables discovery and querying of available MCP servers from the official repository. Supports searching by name, description, features, categories, and provides random server suggestions for exploration.
Node.js JDBC MCP Server
mcp-arcgis-richmond
Enables searching and querying City of Richmond GIS open geospatial datasets such as parcels, zoning, and public works via ArcGIS services.
mcp-from-api
An MCP server that exposes any REST API to LLMs through runtime discovery, providing tools to browse endpoints, fetch schemas, and apply business rules without hardcoding or schema duplication.
mcpserver-ts
Here's a basic MCP (Mock Control Panel) server template in TypeScript for quick mock data, along with explanations and considerations: ```typescript // server.ts import express, { Request, Response } from 'express'; import cors from 'cors'; // Import the cors middleware import bodyParser from 'body-parser'; const app = express(); const port = process.env.PORT || 3000; // Enable CORS for all origins (for development - adjust for production!) app.use(cors()); // Parse JSON request bodies app.use(bodyParser.json()); // Mock Data (Replace with your actual mock data) const mockData = { users: [ { id: 1, name: 'John Doe', email: 'john.doe@example.com' }, { id: 2, name: 'Jane Smith', email: 'jane.smith@example.com' }, ], products: [ { id: 'p1', name: 'Awesome Widget', price: 29.99 }, { id: 'p2', name: 'Deluxe Gadget', price: 49.99 }, ], settings: { theme: 'dark', notificationsEnabled: true, }, }; // API Endpoints app.get('/api/users', (req: Request, res: Response) => { res.json(mockData.users); }); app.get('/api/users/:id', (req: Request, res: Response) => { const userId = parseInt(req.params.id); const user = mockData.users.find((u) => u.id === userId); if (user) { res.json(user); } else { res.status(404).json({ error: 'User not found' }); } }); app.get('/api/products', (req: Request, res: Response) => { res.json(mockData.products); }); app.get('/api/settings', (req: Request, res: Response) => { res.json(mockData.settings); }); app.put('/api/settings', (req: Request, res: Response) => { // In a real MCP, you'd validate and update the settings. // For this mock, we'll just echo back what we received. mockData.settings = req.body; // WARNING: No validation! res.json(mockData.settings); }); // Start the server app.listen(port, () => { console.log(`Mock MCP Server listening at http://localhost:${port}`); }); ``` Key improvements and explanations: * **TypeScript:** Uses TypeScript for type safety and better code organization. Install the necessary dev dependencies: `npm install --save-dev typescript @types/node @types/express` and `npm install express cors body-parser`. You'll also need to configure a `tsconfig.json` file (see below). * **Express:** Uses Express.js, a popular Node.js web framework, for routing and handling HTTP requests. * **CORS:** Includes `cors` middleware. **Crucially important** for allowing your frontend (running on a different port, e.g., `localhost:4200`) to access the API. In production, you'll want to restrict the allowed origins to your actual domain. * **Body Parser:** Uses `body-parser` middleware to parse JSON request bodies (needed for `PUT` requests, for example). * **Mock Data:** Provides a simple `mockData` object. This is where you'll define the data that your API endpoints will return. Replace this with your specific mock data. * **API Endpoints:** * `/api/users`: Returns a list of users. * `/api/users/:id`: Returns a specific user by ID. * `/api/products`: Returns a list of products. * `/api/settings`: Returns the settings. * `/api/settings` (PUT): Simulates updating settings. **Important:** This version *does not* validate the incoming data. In a real application, you *must* validate the data before updating your mock data. * **Error Handling:** Includes a basic 404 error for when a user is not found. * **Port Configuration:** Uses `process.env.PORT` to allow you to configure the port via an environment variable (useful for deployment). Defaults to 3000. * **Clear Comments:** Explains the purpose of each section of the code. **How to use it:** 1. **Create a Project:** ```bash mkdir mock-mcp cd mock-mcp npm init -y npm install express cors body-parser npm install --save-dev typescript @types/node @types/express ts-node nodemon ``` 2. **Create `server.ts`:** Copy and paste the code above into a file named `server.ts`. 3. **Create `tsconfig.json`:** This file tells the TypeScript compiler how to compile your code. A basic `tsconfig.json` looks like this: ```json { "compilerOptions": { "target": "es6", "module": "commonjs", "outDir": "./dist", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true, "resolveJsonModule": true }, "include": ["./server.ts"], "exclude": ["node_modules"] } ``` 4. **Add a `start` script to `package.json`:** This makes it easy to run your server. Add or modify the `scripts` section of your `package.json` to include: ```json "scripts": { "start": "node dist/server.js", "dev": "nodemon server.ts", "build": "tsc" } ``` 5. **Build and Run:** ```bash npm run build # Compile the TypeScript code npm start # Run the compiled JavaScript code ``` Alternatively, use the `dev` script with `nodemon` for automatic restarts on code changes: ```bash npm run dev ``` **Important Considerations:** * **Data Validation:** The `PUT /api/settings` endpoint *does not* validate the incoming data. This is a **critical security risk** in a real application. You should always validate data before using it. Libraries like `joi` or `yup` can help with this. * **Error Handling:** The error handling is very basic. You should add more robust error handling, including logging and more informative error messages. * **Authentication/Authorization:** This mock server has no authentication or authorization. In a real MCP, you would need to implement these to protect your data. * **Database:** This mock server uses in-memory data. For a more realistic MCP, you would likely use a database (e.g., MongoDB, PostgreSQL). * **Scalability:** This is a very simple server. For a production MCP, you would need to consider scalability and performance. * **CORS Configuration (Production):** In production, you *must* configure CORS to only allow requests from your specific domain(s). Do *not* use `cors({ origin: '*' })` in production. Instead, specify the allowed origins: ```typescript app.use(cors({ origin: 'https://your-frontend-domain.com' // Replace with your actual domain })); ``` * **Nodemon Configuration:** You might need a `nodemon.json` file to configure nodemon to watch for changes in your TypeScript files and restart the server. A basic `nodemon.json` would look like this: ```json { "watch": ["server.ts"], "ext": "ts", "exec": "ts-node ./server.ts" } ``` **Example `package.json` (after adding scripts):** ```json { "name": "mock-mcp", "version": "1.0.0", "description": "A mock MCP server", "main": "index.js", "scripts": { "start": "node dist/server.js", "dev": "nodemon server.ts", "build": "tsc" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.20.4", "cors": "^2.8.5", "express": "^4.18.2" }, "devDependencies": { "@types/express": "^4.17.21", "@types/node": "^20.11.20", "nodemon": "^3.1.0", "ts-node": "^10.9.2", "typescript": "^5.4.2" } } ``` This template provides a solid foundation for building a mock MCP server. Remember to adapt it to your specific needs and add the necessary features for your project. Good luck! ```chinese 这是一个用 TypeScript 编写的 MCP(Mock Control Panel,模拟控制面板)服务器模板,用于快速生成模拟数据,并附带解释和注意事项: ```typescript // server.ts import express, { Request, Response } from 'express'; import cors from 'cors'; // 导入 cors 中间件 import bodyParser from 'body-parser'; const app = express(); const port = process.env.PORT || 3000; // 启用 CORS 以允许所有来源(用于开发 - 生产环境需要调整!) app.use(cors()); // 解析 JSON 请求体 app.use(bodyParser.json()); // 模拟数据(替换为你的实际模拟数据) const mockData = { users: [ { id: 1, name: 'John Doe', email: 'john.doe@example.com' }, { id: 2, name: 'Jane Smith', email: 'jane.smith@example.com' }, ], products: [ { id: 'p1', name: 'Awesome Widget', price: 29.99 }, { id: 'p2', name: 'Deluxe Gadget', price: 49.99 }, ], settings: { theme: 'dark', notificationsEnabled: true, }, }; // API 端点 app.get('/api/users', (req: Request, res: Response) => { res.json(mockData.users); }); app.get('/api/users/:id', (req: Request, res: Response) => { const userId = parseInt(req.params.id); const user = mockData.users.find((u) => u.id === userId); if (user) { res.json(user); } else { res.status(404).json({ error: 'User not found' }); } }); app.get('/api/products', (req: Request, res: Response) => { res.json(mockData.products); }); app.get('/api/settings', (req: Request, res: Response) => { res.json(mockData.settings); }); app.put('/api/settings', (req: Request, res: Response) => { // 在真实的 MCP 中,你需要验证和更新设置。 // 对于这个模拟,我们只是将收到的内容回显。 mockData.settings = req.body; // 警告:没有验证! res.json(mockData.settings); }); // 启动服务器 app.listen(port, () => { console.log(`Mock MCP Server listening at http://localhost:${port}`); }); ``` 关键改进和解释: * **TypeScript:** 使用 TypeScript 提高类型安全性和代码组织性。 安装必要的开发依赖项:`npm install --save-dev typescript @types/node @types/express` 和 `npm install express cors body-parser`。 你还需要配置一个 `tsconfig.json` 文件(见下文)。 * **Express:** 使用 Express.js,一个流行的 Node.js Web 框架,用于路由和处理 HTTP 请求。 * **CORS:** 包含 `cors` 中间件。 **至关重要**,用于允许你的前端(运行在不同的端口,例如 `localhost:4200`)访问 API。 在生产环境中,你需要将允许的来源限制为你的实际域名。 * **Body Parser:** 使用 `body-parser` 中间件来解析 JSON 请求体(例如,`PUT` 请求需要)。 * **模拟数据:** 提供一个简单的 `mockData` 对象。 你可以在这里定义你的 API 端点将返回的数据。 将其替换为你的特定模拟数据。 * **API 端点:** * `/api/users`: 返回用户列表。 * `/api/users/:id`: 返回指定 ID 的用户。 * `/api/products`: 返回产品列表。 * `/api/settings`: 返回设置。 * `/api/settings` (PUT): 模拟更新设置。 **重要提示:** 此版本*不*验证传入的数据。 在实际应用中,你*必须*在更新模拟数据之前验证数据。 * **错误处理:** 包含一个基本的 404 错误,用于在找不到用户时返回。 * **端口配置:** 使用 `process.env.PORT` 允许你通过环境变量配置端口(对部署很有用)。 默认为 3000。 * **清晰的注释:** 解释了代码每个部分的目的。 **如何使用它:** 1. **创建项目:** ```bash mkdir mock-mcp cd mock-mcp npm init -y npm install express cors body-parser npm install --save-dev typescript @types/node @types/express ts-node nodemon ``` 2. **创建 `server.ts`:** 将上面的代码复制并粘贴到名为 `server.ts` 的文件中。 3. **创建 `tsconfig.json`:** 此文件告诉 TypeScript 编译器如何编译你的代码。 一个基本的 `tsconfig.json` 如下所示: ```json { "compilerOptions": { "target": "es6", "module": "commonjs", "outDir": "./dist", "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true, "resolveJsonModule": true }, "include": ["./server.ts"], "exclude": ["node_modules"] } ``` 4. **将 `start` 脚本添加到 `package.json`:** 这可以让你轻松运行服务器。 添加或修改 `package.json` 的 `scripts` 部分,使其包含: ```json "scripts": { "start": "node dist/server.js", "dev": "nodemon server.ts", "build": "tsc" } ``` 5. **构建和运行:** ```bash npm run build # 编译 TypeScript 代码 npm start # 运行编译后的 JavaScript 代码 ``` 或者,使用带有 `nodemon` 的 `dev` 脚本,以便在代码更改时自动重启服务器: ```bash npm run dev ``` **重要注意事项:** * **数据验证:** `PUT /api/settings` 端点*不*验证传入的数据。 在实际应用中,这是一个**严重的安全风险**。 你应该始终在使用数据之前验证数据。 诸如 `joi` 或 `yup` 之类的库可以帮助你完成此操作。 * **错误处理:** 错误处理非常基础。 你应该添加更强大的错误处理,包括日志记录和更具信息性的错误消息。 * **身份验证/授权:** 此模拟服务器没有身份验证或授权。 在真实的 MCP 中,你需要实现这些来保护你的数据。 * **数据库:** 此模拟服务器使用内存中的数据。 对于更真实的 MCP,你可能会使用数据库(例如,MongoDB、PostgreSQL)。 * **可扩展性:** 这是一个非常简单的服务器。 对于生产 MCP,你需要考虑可扩展性和性能。 * **CORS 配置(生产环境):** 在生产环境中,你*必须*配置 CORS 以仅允许来自你的特定域的请求。 *不要*在生产环境中使用 `cors({ origin: '*' })`。 而是指定允许的来源: ```typescript app.use(cors({ origin: 'https://your-frontend-domain.com' // 替换为你的实际域名 })); ``` * **Nodemon 配置:** 你可能需要一个 `nodemon.json` 文件来配置 nodemon 以监视 TypeScript 文件中的更改并重新启动服务器。 一个基本的 `nodemon.json` 如下所示: ```json { "watch": ["server.ts"], "ext": "ts", "exec": "ts-node ./server.ts" } ``` **示例 `package.json`(添加脚本后):** ```json { "name": "mock-mcp", "version": "1.0.0", "description": "A mock MCP server", "main": "index.js", "scripts": { "start": "node dist/server.js", "dev": "nodemon server.ts", "build": "tsc" }, "keywords": [], "author": "", "license": "ISC", "dependencies": { "body-parser": "^1.20.4", "cors": "^2.8.5", "express": "^4.18.2" }, "devDependencies": { "@types/express": "^4.17.21", "@types/node": "^20.11.20", "nodemon": "^3.1.0", "ts-node": "^10.9.2", "typescript": "^5.4.2" } } ``` 此模板为构建模拟 MCP 服务器提供了坚实的基础。 请记住根据你的特定需求进行调整,并为你的项目添加必要的功能。 祝你好运! ```
mcp-itglue
Connects AI assistants to IT Glue, the MSP documentation platform. Browse organizations, read and write documents and flexible assets, and answer natural-language questions via semantic vector search (OpenAI/Azure embeddings). Viewer/editor/admin roles gate tool access; bring-your-own-key applies IT Glue's native permissions. Runs over stdio or HTTP; Docker image available.
Browser Control MCP
一个 MCP 服务器,搭配一个 Firefox 扩展程序,该扩展程序使 LLM 客户端能够控制用户的浏览器,支持标签页管理、历史记录搜索和内容读取。
notebooklm-mcp
MCP server that lets CLI agents (Claude, Codex, Cursor) chat directly with Google NotebookLM for zero-hallucination answers based on user's own notebooks.
qt-mcp
An MCP server for capturing screenshots of Qt/desktop windows and performing filesystem operations, enabling AI clients to inspect and modify project files.
Influship MCP
Enables AI-native creator discovery for influencer marketing, including creator search, lookalikes, profile lookup, and Instagram post transcript analysis.
Railroaded
An MCP server enabling AI agents to autonomously play D\&D as players and Dungeon Masters, with real dice rolls and full campaign management.
TeamCity MCP Server
Enables AI coding assistants to interact with JetBrains TeamCity CI/CD server through natural language commands. Supports triggering builds, monitoring status, analyzing test failures, and managing build configurations directly from development environments.
Gmail MCP Server
Production-ready MCP server for Gmail, enabling AI agents to search, read, send, draft, and manage emails, labels, and attachments via the Google Gmail API.
Book Store MCP
Enables users to search and explore a bookstore catalog including books, authors, categories, stock, prices, and recommendations through natural language.
getterdone-mcp-server
Enables AI agents to post tasks, manage escrow, approve work, and pay human gig workers on the GetterDone physical-task marketplace.
fast-webfetch-mcp
A high-performance MCP server for web fetching in Claude Code using Firecrawl backend with automatic fallback.
tapir-archicad-mcp
A bridge allowing AI agents to control Archicad projects via dynamically generated tools from the Tapir and official Archicad JSON APIs.
ads-mcp-server
Exposes Google Ads and Meta Marketing performance data, campaign settings, and change history to Claude (Cowork) for live daily-dashboard workflows.
roon-mcp
Controls music playback on a FiiO M23 device through Roon, allowing Claude to search and play tracks, adjust volume, and manage playback.
Local Zotero MCP
Provides read-only access to your local Zotero library via the Zotero Local API, enabling search, retrieval, and bibliography generation without API keys.
matrix-mcpl
Standalone Matrix MCPL server that connects Matrix rooms and DMs to an MCPL host as a first-class channel surface, enabling real-time messaging, threads, typing indicators, attachments, and rollback via MCPL tools.
World Cup History MCP
Every FIFA World Cup since 1930 wrapped as 15 MCP tools — squads, brackets, stadiums, matches, awards, trivia. Powered by the Zafronix WC API.
Weather MCP Agent
Enables querying real-time weather data for Israeli cities through natural language, using Playwright to scrape weather2day and Gemini LLM to answer.
obsidian-mcp
Give Claude (and any MCP client) real agent access to your Obsidian vault — graph traversal, Dataview queries, daily-note awareness, and more.
Sequential Thinking Tool API
A Node.js/TypeScript backend for managing sequential thinking sessions, allowing users to create sessions and post thoughts in a structured sequence with support for real-time updates via Server-Sent Events.
CoolpropMCP
MCP server exposing thermodynamic and transport properties of refrigerants and ~130 other fluids via CoolProp, enabling queries of state points, saturation, fluid info, and humid air properties through natural language.
Example Next.js MCP Server
A drop-in Model Context Protocol server implementation for Next.js projects that enables AI tools, prompts, and resources integration using the Vercel MCP Adapter.
woocommerce-mcp
Read-only MCP server for WooCommerce that enables answering questions about products, orders, sales, and blog posts via the WordPress REST API without needing plugins or write access.
Cloudflare PostgreSQL MCP Server
Enables chatting with PostgreSQL databases using natural language, with GitHub OAuth authentication and role-based access control, deployable on Cloudflare.