Discover Awesome MCP Servers
Extend your agent with 84,516 capabilities via MCP servers.
- All84,516
- Developer Tools3,867
- Search1,714
- Research & Data1,557
- AI Integration Systems229
- Cloud Platforms219
- Data & App Analysis181
- Database Interaction177
- Remote Shell Execution165
- Browser Automation147
- Databases145
- Communication137
- AI Content Generation127
- OS Automation120
- Programming Docs Access109
- Content Fetching108
- Note Taking97
- File Systems96
- Version Control93
- Finance91
- Knowledge & Memory90
- Monitoring79
- Security71
- Image & Video Processing69
- Digital Note Management66
- AI Memory Systems62
- Advanced AI Reasoning59
- Git Management Tools58
- Cloud Storage51
- Entertainment & Media43
- Virtualization42
- Location Services35
- Web Automation & Stealth32
- Media Content Processing32
- Calendar Management26
- Ecommerce & Retail18
- Speech Processing18
- Customer Data Platforms16
- Travel & Transportation14
- Education & Learning Tools13
- Home Automation & IoT13
- Web Search Integration12
- Health & Wellness10
- Customer Support10
- Marketing9
- Games & Gamification8
- Google Cloud Integrations7
- Art & Culture4
- Language Translation3
- Legal & Compliance2
MCP Server Template
Dưới đây là một bản mẫu (template) để tạo máy chủ Model Context Protocol (MCP) bằng TypeScript, cung cấp các tính năng như dependency injection dựa trên container, kiến trúc dựa trên dịch vụ và tích hợp với LLM CLI để nhận phản hồi về thiết kế kiến trúc thông qua ngôn ngữ tự nhiên: ```typescript // src/index.ts import 'reflect-metadata'; // Cần thiết cho reflect-metadata import { Container } from 'inversify'; import { InversifyExpressServer } from 'inversify-express-utils'; import { LLMCLIIntegration } from './utils/llm-cli-integration'; // Giả sử bạn có một module cho việc này import { TYPES } from './types'; import { ExampleController } from './controllers/example.controller'; // Ví dụ về controller import { ExampleService } from './services/example.service'; // Ví dụ về service import express, { Application } from 'express'; import bodyParser from 'body-parser'; // 1. Tạo Container Inversify const container = new Container(); // 2. Bind các dependencies container.bind<ExampleService>(TYPES.ExampleService).to(ExampleService); // Bind các dependencies khác ở đây... // 3. Tạo Inversify Express Server const server = new InversifyExpressServer(container); server.setConfig((app: Application) => { // Thêm middleware app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); // Thêm các middleware khác ở đây... }); server.build().then(app => { // 4. Lấy ứng dụng Express đã được cấu hình const expressApp = app; // 5. Tích hợp với LLM CLI (tùy chọn) const llmCli = new LLMCLIIntegration(); llmCli.analyzeArchitecture(expressApp) .then(feedback => { console.log("LLM CLI Feedback:", feedback); }) .catch(error => { console.error("Error from LLM CLI:", error); }); // 6. Khởi động server const port = process.env.PORT || 3000; expressApp.listen(port, () => { console.log(`Server is running on port ${port}`); }); }); // src/types.ts export const TYPES = { ExampleService: Symbol.for("ExampleService"), // Định nghĩa các types khác ở đây... }; // src/controllers/example.controller.ts import { controller, httpGet, request, response } from 'inversify-express-utils'; import { inject } from 'inversify'; import { Request, Response } from 'express'; import { TYPES } from '../types'; import { ExampleService } from '../services/example.service'; @controller('/example') export class ExampleController { constructor(@inject(TYPES.ExampleService) private exampleService: ExampleService) {} @httpGet('/') public getExample(@request() req: Request, @response() res: Response): void { const data = this.exampleService.getData(); res.json({ message: 'Example endpoint', data: data }); } } // src/services/example.service.ts import { injectable } from 'inversify'; @injectable() export class ExampleService { public getData(): string { return "Data from Example Service"; } } // src/utils/llm-cli-integration.ts (Ví dụ) export class LLMCLIIntegration { async analyzeArchitecture(app: any): Promise<string> { // Logic để tương tác với LLM CLI // Ví dụ: // 1. Serialize cấu hình ứng dụng (routes, middleware) // 2. Gọi LLM CLI với cấu hình này // 3. Phân tích kết quả trả về từ LLM CLI // 4. Trả về phản hồi (feedback) // Placeholder - Cần triển khai logic thực tế return Promise.resolve("LLM CLI analysis is not yet implemented."); } } // package.json { "name": "mcp-server-template", "version": "1.0.0", "description": "Template for creating Model Context Protocol (MCP) servers in TypeScript", "main": "dist/index.js", "scripts": { "build": "tsc", "start": "node dist/index.js", "dev": "nodemon src/index.ts", "lint": "eslint . --ext .ts", "format": "prettier --write ." }, "dependencies": { "body-parser": "^1.20.2", "express": "^4.18.2", "inversify": "^6.0.1", "inversify-express-utils": "^6.4.3", "reflect-metadata": "^0.1.13" }, "devDependencies": { "@types/body-parser": "^1.19.5", "@types/express": "^4.17.21", "@types/node": "^20.11.19", "@typescript-eslint/eslint-plugin": "^7.0.1", "@typescript-eslint/parser": "^7.0.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "^5.1.3", "nodemon": "^3.0.3", "prettier": "^3.2.5", "ts-node": "^10.9.2", "typescript": "^5.3.3" }, "keywords": [ "MCP", "Model Context Protocol", "TypeScript", "Inversify", "Dependency Injection", "LLM CLI" ], "author": "Your Name", "license": "MIT" } ``` **Giải thích:** * **`src/index.ts`:** Điểm vào chính của ứng dụng. * Khởi tạo container Inversify để quản lý dependencies. * Bind các services vào container. * Tạo Inversify Express Server để tích hợp Inversify với Express. * Cấu hình middleware cho Express (ví dụ: `body-parser`). * Tích hợp với LLM CLI (phần này cần được triển khai cụ thể dựa trên LLM CLI bạn sử dụng). * Khởi động server. * **`src/types.ts`:** Định nghĩa các `Symbol` để sử dụng làm keys khi bind các dependencies trong Inversify. Điều này giúp tránh xung đột tên. * **`src/controllers/example.controller.ts`:** Ví dụ về một controller sử dụng Inversify để inject `ExampleService`. * **`src/services/example.service.ts`:** Ví dụ về một service. * **`src/utils/llm-cli-integration.ts`:** **Quan trọng:** Đây là nơi bạn cần triển khai logic để tương tác với LLM CLI. Điều này có thể bao gồm: * Serialize cấu hình ứng dụng (ví dụ: danh sách các routes, middleware, các dependencies). * Gọi LLM CLI với cấu hình đã serialize. Điều này có thể thông qua một process con, một HTTP request, hoặc một thư viện client của LLM CLI. * Phân tích kết quả trả về từ LLM CLI. * Trả về phản hồi (feedback) từ LLM CLI. * **`package.json`:** Chứa các dependencies cần thiết và các scripts để build, chạy và lint code. **Cách sử dụng:** 1. **Cài đặt dependencies:** `npm install` 2. **Build code:** `npm run build` 3. **Chạy server:** `npm run start` (hoặc `npm run dev` để chạy với nodemon) **Lưu ý quan trọng:** * **LLM CLI Integration:** Phần `LLMCLIIntegration` là phần quan trọng nhất và cần được triển khai cụ thể dựa trên LLM CLI bạn muốn sử dụng. Bạn cần tìm hiểu cách LLM CLI hoạt động, cách nó nhận cấu hình ứng dụng và cách nó trả về phản hồi. * **Inversify:** Tìm hiểu kỹ về Inversify để hiểu cách dependency injection hoạt động. * **Error Handling:** Thêm error handling vào các promise và async/await functions. * **Configuration:** Sử dụng một thư viện cấu hình (ví dụ: `dotenv`) để quản lý các biến môi trường. * **Testing:** Viết unit tests và integration tests để đảm bảo code hoạt động chính xác. * **Security:** Xem xét các vấn đề bảo mật khi xây dựng ứng dụng web. **Ví dụ về cách triển khai `LLMCLIIntegration` (giả định LLM CLI nhận cấu hình qua JSON và trả về phản hồi qua JSON):** ```typescript // src/utils/llm-cli-integration.ts import { exec } from 'child_process'; import * as fs from 'fs'; import * as path from 'path'; export class LLMCLIIntegration { private llmCliPath: string = '/path/to/your/llm-cli'; // Thay đổi đường dẫn này async analyzeArchitecture(app: any): Promise<string> { try { // 1. Serialize cấu hình ứng dụng (ví dụ: routes) const appConfig = this.serializeAppConfig(app); // 2. Tạo một file JSON tạm thời để chứa cấu hình const tempConfigFile = path.join(__dirname, 'temp_config.json'); fs.writeFileSync(tempConfigFile, JSON.stringify(appConfig, null, 2)); // 3. Gọi LLM CLI const command = `${this.llmCliPath} --config ${tempConfigFile}`; const { stdout, stderr } = await this.executeCommand(command); // 4. Xóa file cấu hình tạm thời fs.unlinkSync(tempConfigFile); // 5. Phân tích kết quả trả về từ LLM CLI (giả sử là JSON) const feedback = JSON.parse(stdout); // 6. Trả về phản hồi return JSON.stringify(feedback, null, 2); } catch (error: any) { console.error("Error in LLM CLI integration:", error); return `Error analyzing architecture: ${error.message}`; } } private serializeAppConfig(app: any): any { // Logic để serialize cấu hình ứng dụng // Ví dụ: lấy danh sách các routes từ app._router.stack // và tạo một object JSON mô tả kiến trúc ứng dụng. // Cần điều chỉnh logic này dựa trên cấu trúc của ứng dụng Express của bạn. const routes = app._router.stack .filter((layer: any) => layer.route) .map((layer: any) => ({ path: layer.route.path, methods: Object.keys(layer.route.methods), })); return { routes: routes, // Thêm các thông tin khác về kiến trúc ứng dụng ở đây... }; } private executeCommand(command: string): Promise<{ stdout: string; stderr: string }> { return new Promise((resolve, reject) => { exec(command, (error, stdout, stderr) => { if (error) { reject(error); } resolve({ stdout, stderr }); }); }); } } ``` **Lưu ý:** * Thay đổi `/path/to/your/llm-cli` thành đường dẫn thực tế đến LLM CLI của bạn. * Hàm `serializeAppConfig` cần được điều chỉnh để phù hợp với cấu trúc ứng dụng Express của bạn. * Xử lý lỗi và logging cần được cải thiện. Bản mẫu này cung cấp một điểm khởi đầu tốt để xây dựng máy chủ MCP bằng TypeScript. Hãy nhớ điều chỉnh nó để phù hợp với nhu cầu cụ thể của bạn. Chúc bạn thành công!
MCP File Server
Cho phép các mô hình AI thực hiện các thao tác trên hệ thống tệp (đọc, tạo và liệt kê tệp) trên một hệ thống tệp cục bộ thông qua giao diện Giao thức Ngữ cảnh Mô hình được tiêu chuẩn hóa.
Anki MCP Server
Một máy chủ dựa trên TypeScript, tích hợp với Anki thông qua plugin AnkiConnect, cho phép bạn quản lý các bộ bài flashcard, mô hình ghi chú và tạo ghi chú Anki bằng ngôn ngữ tự nhiên.
MCP Notmuch Sendmail
Một máy chủ hỗ trợ email kết nối Claude Desktop với cơ sở dữ liệu email notmuch, cho phép người dùng tìm kiếm email, xem các chuỗi, soạn tin nhắn mới và trả lời các cuộc hội thoại với định dạng markdown.
Code Sandbox MCP
Một máy chủ MCP để tạo môi trường sandbox mã an toàn để thực thi mã trong các container Docker.
Github-Oauth MCP Server
Tạo điều kiện xác thực với GitHub bằng giao thức OAuth, cho phép truy cập và tương tác an toàn với các kho lưu trữ và dịch vụ của GitHub.
claude-code-mcp
Dự án này nhằm mục đích xây dựng một máy chủ Claude Code MCP và triển khai các công cụ liên quan của nó (explain\_code, review\_code, fix\_code, edit\_code, test\_code, simulate\_command, your\_own\_query). Máy chủ được triển khai bằng Node.js và MCP SDK. Nó nhận các yêu cầu công cụ từ máy khách thông qua Stdio, một cách động.
Super Windows CLI MCP Server
Một máy chủ MCP CLI Windows nâng cao, cung cấp khả năng truy cập hệ thống không giới hạn, được thiết kế cho các môi trường tin cậy với các yêu cầu truy cập hệ thống đầy đủ.
Notion MCP Server
Một máy chủ Giao thức Bối cảnh Mô hình (Model Context Protocol) cho phép Claude và các LLM khác tương tác với không gian làm việc Notion, cung cấp các khả năng như tìm kiếm, truy xuất, tạo và cập nhật trang, cũng như quản lý cơ sở dữ liệu.
Azure OpenAI
Dưới đây là bản dịch của câu trên sang tiếng Việt: **Một triển khai ứng dụng máy chủ/máy khách tối giản sử dụng Giao thức Ngữ cảnh Mô hình (MCP) và Azure OpenAI.** Hoặc, một cách diễn đạt khác, nhấn mạnh hơn vào tính chất "thực hiện": **Một cách thực hiện tối thiểu ứng dụng máy chủ/máy khách, tận dụng Giao thức Ngữ cảnh Mô hình (MCP) và Azure OpenAI.**
Filesystem MCP Server
mcp-local-dev
Tạo môi trường phát triển cục bộ được cách ly (sandboxed) trực tiếp từ Github và thực thi các bài kiểm tra, xem mức độ bao phủ (coverage) và hơn thế nữa! Hỗ trợ Python, Node, Bun và nhiều trình chạy kiểm tra (test runner).
MCP-LOGO-GEN
Máy chủ công cụ MCP để tạo logo. Máy chủ này cung cấp khả năng tạo logo bằng FAL AI, với các công cụ để tạo ảnh, xóa nền và điều chỉnh kích thước ảnh.
Cline Personas MCP Server
Một máy chủ MCP để quản lý và kích hoạt các mẫu và thành phần persona bằng cách ghi vào các tệp .clinerules, hỗ trợ theo dõi phiên bản và lưu trữ dựa trên tệp.
Face Generator MCP Server
Tạo ra hình ảnh khuôn mặt người chân thực mà không đại diện cho người thật, cung cấp nhiều hình dạng đầu ra khác nhau, kích thước có thể tùy chỉnh và khả năng tạo hàng loạt.
Cursor A11y MCP
Cung cấp khả năng kiểm thử khả năng truy cập thông qua CLI, giúp xác định các vấn đề về khả năng truy cập trong các ứng dụng web bằng cách sử dụng axe-core và Puppeteer.
MCP Server Make
Một máy chủ Giao thức Ngữ cảnh Mô hình (Model Context Protocol) cho phép các LLM (Mô hình Ngôn ngữ Lớn) thực thi an toàn các mục tiêu "make" từ một Makefile, cho phép các trợ lý AI chạy thử nghiệm, định dạng mã và tự động hóa các tác vụ phát triển khác nhau thông qua tương tác ngôn ngữ tự nhiên.
MCP-AppleMusic
Cho phép điều khiển Apple Music trên macOS thông qua AppleScript bằng các lệnh MCP, cho phép người dùng quản lý phát lại, tìm kiếm bài hát và tạo danh sách phát.
mcp-maigret
Máy chủ MCP cho Maigret, một công cụ OSINT mạnh mẽ thu thập thông tin tài khoản người dùng từ nhiều nguồn công khai khác nhau. Máy chủ này cung cấp các công cụ để tìm kiếm tên người dùng trên các mạng xã hội và phân tích URL.
mcp-image-downloader
Cho phép các trợ lý AI tải xuống hình ảnh từ URL và thực hiện các tác vụ tối ưu hóa hình ảnh cơ bản.
kb-mcp-server
Một máy chủ MCP được thiết kế để có tính di động, cục bộ, dễ dàng và tiện lợi để hỗ trợ truy xuất dựa trên ngữ nghĩa/đồ thị của cơ sở dữ liệu nhúng "tất cả trong một" txtai. Bất kỳ cơ sở dữ liệu nhúng txtai nào ở dạng tar.gz đều có thể được tải.
Filesystem MCP Server
Máy chủ Go triển khai Giao thức Ngữ cảnh Mô hình (Model Context Protocol - MCP) cho các hoạt động hệ thống tập tin.
Veri5ight MCP Server
Cho phép Claude tương tác với các nút Ethereum, cho phép người dùng kiểm tra số dư token ENS, xem mã hợp đồng thông minh và giải mã các giao dịch thông qua ngôn ngữ tự nhiên.
MCP Journaling Server
Máy chủ MCP biến các cuộc trò chuyện với Claude thành các buổi viết nhật ký, lưu các cuộc trò chuyện cục bộ và cho phép LLM truy xuất các phiên trước đó để tạo sự liên tục trong các cuộc thảo luận về các hoạt động hàng ngày.
Browser Use Server
Cho phép tự động hóa trình duyệt bằng cách sử dụng các tập lệnh Python, cung cấp các thao tác như chụp ảnh màn hình trang web, truy xuất nội dung HTML và thực thi JavaScript.
Video Editor MCP Server
Cho phép chỉnh sửa video bằng cách sử dụng các lệnh ngôn ngữ tự nhiên được hỗ trợ bởi FFmpeg, hỗ trợ các thao tác như cắt, ghép, chuyển đổi định dạng và hơn thế nữa với khả năng theo dõi tiến trình theo thời gian thực và xử lý lỗi.
Chroma MCP Server
Một máy chủ Giao thức Ngữ cảnh Mô hình (Model Context Protocol) cung cấp các khả năng cơ sở dữ liệu vector thông qua Chroma, cho phép tìm kiếm tài liệu ngữ nghĩa, lọc siêu dữ liệu và quản lý tài liệu với bộ nhớ liên tục.
Crawl4AI MCP Server
Máy chủ Crawl4AI MCP là một máy chủ truy xuất thông tin thông minh, cung cấp khả năng tìm kiếm mạnh mẽ và khả năng hiểu nội dung web được tối ưu hóa cho LLM, sử dụng tìm kiếm đa công cụ và trích xuất nội dung thông minh để thu thập và hiểu thông tin trên internet một cách hiệu quả.
Git Auto Commit MCP Server
Phân tích các thay đổi git trong kho lưu trữ và tạo ra các thông điệp commit theo quy ước sử dụng các mô hình GPT của OpenAI, hỗ trợ cả các thay đổi đã được staging và chưa được staging với các bản tóm tắt chi tiết.
Tesla MCP Server
Một máy chủ Giao thức Bối cảnh Mô hình (Model Context Protocol) kết nối với Tesla Fleet API, cho phép các trợ lý AI như Claude điều khiển xe Tesla và truy cập thông tin xe thông qua các lệnh bằng ngôn ngữ tự nhiên.