Discover Awesome MCP Servers

Extend your agent with 16,263 capabilities via MCP servers.

All16,263
doit-mcp-server

doit-mcp-server

为 doit (pydoit) 提供的 MCP 服务器

Hyperliquid MCP Server v2

Hyperliquid MCP Server v2

A Model Context Protocol server for Hyperliquid with integrated dashboard

Anyquery

Anyquery

Connect to more than 40 apps with a single binary

Browser Control MCP

Browser Control MCP

一个 MCP 服务器,搭配一个 Firefox 扩展程序,该扩展程序使 LLM 客户端能够控制用户的浏览器,支持标签页管理、历史记录搜索和内容读取。

MCP Avantage

MCP Avantage

A Model Context Protocol server that enables LLMs to access comprehensive financial data from Alpha Vantage API, including stock prices, fundamentals, forex, crypto, and economic indicators.

Generalized MCP Server

Generalized MCP Server

Dynamically exposes Python SDKs (Kubernetes, GitHub, Azure) through an agent-friendly gRPC interface. Enables interaction with cloud services and platforms using natural language by automatically converting SDK functionality into callable functions.

mcpserver-ts

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 服务器提供了坚实的基础。 请记住根据你的特定需求进行调整,并为你的项目添加必要的功能。 祝你好运! ```

Desktop MCP

Desktop MCP

Enables AI assistants to capture and analyze screen content across multi-monitor setups with smart image optimization. Provides screenshot capabilities and detailed monitor information for visual debugging, UI analysis, and desktop assistance.

Hugging Face MCP Server

Hugging Face MCP Server

An MCP server that provides Hugging Face Hub API and Search endpoints through multiple transport protocols (STDIO, SSE, StreamableHTTP, and StreamableHTTPJson), enabling integration with AI model capabilities.

Acknowledgments

Acknowledgments

镜子 (jìng zi)

MCP Server Demo

MCP Server Demo

A minimal Model Context Protocol server demo that exposes tools through HTTP API, including greeting, weather lookup, and HTTP request capabilities. Demonstrates MCP server implementation with stdio communication and HTTP gateway functionality.

Google PSE MCP Server

Google PSE MCP Server

A Model Context Protocol server that enables LLM clients like VSCode, Copilot, and Claude Desktop to search the web using Google Programmable Search Engine API.

typescript-mcp-server

typescript-mcp-server

Serverless Mcp

Serverless Mcp

GitHub MCP Server

GitHub MCP Server

一个使用 TypeScript 和 Express 构建的、带有 SSE 传输的 GitHub MCP 服务器

MQScript MCP Server

MQScript MCP Server

Enables AI applications to generate and execute MQScript mobile automation scripts for controlling mobile devices. Supports touch operations, UI creation, color detection, file operations, and system control functions.

Finance MCP Server

Finance MCP Server

A Model Context Protocol server built with FastMCP that provides financial data tools for AI agents, enabling them to access and analyze stock market information from Yahoo Finance through natural language queries.

Facebook Ads Management Control Panel

Facebook Ads Management Control Panel

A Node.js Express server that integrates with Facebook Marketing API to provide a platform for managing ad campaigns, analyzing performance, and receiving optimization recommendations.

GCP MCP

GCP MCP

Enables AI assistants to interact with Google Cloud Platform resources through natural language queries. Supports querying and managing GCP services like Compute Engine, Cloud Storage, BigQuery, and more across multiple projects and regions.

mpd-mcp-server

mpd-mcp-server

Harvest MCP Server

Harvest MCP Server

Provides MCP integration for Harvest's time tracking, project management, and invoicing functionality, enabling natural language interaction with Harvest API through tools for managing clients, time entries, projects, tasks, and users.

Ghost MCP Server

Ghost MCP Server

A Model Context Protocol server that enables management of Ghost blog content (posts, pages, and tags) through the Ghost Admin API with SSE transport support.

SkyeNet-MCP-ACE

SkyeNet-MCP-ACE

Enables AI agents to execute server-side JavaScript and perform CRUD operations directly on ServiceNow instances with context bloat reduction features for efficient token usage.

TeamCity MCP Server

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.

SRT Translation MCP Server

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-101

MCP-101

Speikzeug

Speikzeug

用于自动化数据处理和系统匿名化的,集成了 MCP 服务器的现代化工具集。

Cloudera Iceberg MCP Server (via Impala)

Cloudera Iceberg MCP Server (via Impala)

通过 Impala 使用 Cloudera Iceberg MCP 服务器

MCP-Gateway

MCP-Gateway

MCP-Gateway 是一项服务,它提供 MCP 服务器的统一管理能力,帮助 AI 代理快速连接到各种数据源。通过 MCP 服务器,AI 代理可以轻松访问数据库、REST API 和其他外部服务,而无需担心具体的连接细节。

MCP MySQL Server

MCP MySQL Server

Enables AI assistants to safely query MySQL databases with read-only access by default, supporting table listing, structure inspection, and SQL queries with optional write operation control.