Discover Awesome MCP Servers

Extend your agent with 29,221 capabilities via MCP servers.

All29,221
database

database

Database MCP server for MySQL, MariaDB, PostgreSQL & SQLite

HaloPSA MCP Server

HaloPSA MCP Server

Enables AI assistants to interact with HaloPSA data through secure OAuth2 authentication. Supports SQL queries against the HaloPSA database, API endpoint exploration, and direct API calls for comprehensive PSA data analysis and management.

Cirvoy-Kiro MCP Integration

Cirvoy-Kiro MCP Integration

Enables seamless task synchronization between Kiro IDE and the Cirvoy project management platform. It provides tools to create, list, and update tasks directly within the IDE using the Model Context Protocol.

SpherePay MCP Server

SpherePay MCP Server

Enables users to manage the SpherePay payment platform, including customer onboarding, bank and wallet management, and cross-chain transfers. It provides tools for executing financial workflows, tracking transfers, and configuring virtual accounts for fiat-to-stablecoin conversions.

Substack MCP Server

Substack MCP Server

Enables interaction with Substack publications through natural conversation, allowing users to create posts with cover images, publish notes, manage content, and retrieve profile information.

Brickognize MCP Server

Brickognize MCP Server

Identifies LEGO parts, sets, and minifigures from local image files using the Brickognize API. It provides specialized tools for specific item recognition and integrates LEGO identification capabilities into MCP-enabled environments.

stacksfinder-mcp

stacksfinder-mcp

Tech stack recommendations for developers. Deterministic 6-dimension scoring across 30+ technologies. 4 free tools, Pro features with API key.

RhinoCommon MCP

RhinoCommon MCP

Enables Claude to access Rhino 8 RhinoCommon API documentation for accurate code generation when developing Rhino plugins, providing class details, method signatures, and code examples.

MCP MongoDB Integration

MCP MongoDB Integration

이 프로젝트는 AI 어시스턴트에게 데이터베이스 상호 작용 기능을 제공하기 위해 MongoDB와 모델 컨텍스트 프로토콜(MCP)의 통합을 보여줍니다.

MCP GDB Server

MCP GDB Server

Claude나 다른 AI 어시스턴트와 함께 사용할 수 있는 GDB 디버깅 기능을 제공하여, 사용자가 자연어를 통해 디버깅 세션을 관리하고, 중단점을 설정하고, 변수를 검사하고, GDB 명령을 실행할 수 있도록 합니다.

Fugle MCP Server

Fugle MCP Server

MCP Geometry Server

MCP Geometry Server

An MCP server that enables AI models to generate precise geometric images by providing Asymptote code, supporting both SVG and PNG output formats.

Argus

Argus

One endpoint, five search providers. Search broker for AI agents with automatic fallback, RRF ranking, and budget enforcement. The LiteLLM of web search.

Unloop MCP

Unloop MCP

Detects and breaks repetitive fix loops in AI coding assistants by tracking attempts and providing escalating intervention strategies. It utilizes error fingerprinting and similarity analysis to redirect the AI toward new approaches when it gets stuck on the same error.

mobile-device-mcp

mobile-device-mcp

MCP server that gives AI coding assistants the ability to see and interact with mobile devices. 49 tools for Android/iOS — AI-powered visual analysis (Claude + Gemini), smart tap/type by description, Flutter widget tree inspection, video recording, and test script generation. 4-tier element search with <1ms local matching. Free tier included, zero setup via npx.

MCP Server for MySQL

MCP Server for MySQL

Provides access to MySQL databases with fine-grained access control, supporting multiple databases simultaneously with configurable access modes (readonly, readwrite, full) and table-level permissions using whitelists, blacklists, wildcards, and regex patterns.

Markdown MCP Server

Markdown MCP Server

An MCP (Model Context Protocol) server for efficiently managing Markdown documents in Cursor AI IDE, supporting CRUD operations, search, and metadata management.

MCP with Langchain Sample Setup

MCP with Langchain Sample Setup

## 샘플 MCP 서버 & 클라이언트 설정 (LangChain 호환) 다음은 LangChain과 호환되는 샘플 MCP (Message Passing Communication) 서버 및 클라이언트 설정입니다. 이 예제는 간단한 텍스트 기반 통신을 보여주며, 필요에 따라 더 복잡한 데이터 구조와 프로토콜을 지원하도록 확장할 수 있습니다. **주의:** 이 코드는 예시이며, 실제 프로덕션 환경에서는 보안, 오류 처리, 확장성 등을 고려하여 더 robust하게 구현해야 합니다. **1. MCP 서버 (Python):** ```python import socket import threading HOST = 'localhost' # 서버 IP 주소 PORT = 12345 # 서버 포트 번호 def handle_client(conn, addr): """클라이언트 연결을 처리하는 함수""" print(f"연결됨: {addr}") try: while True: data = conn.recv(1024) # 최대 1024 바이트 수신 if not data: break message = data.decode('utf-8') print(f"수신: {message}") # LangChain과 통합하는 부분 (예시) # 여기에서 LangChain 모델을 사용하여 메시지를 처리하고 응답을 생성할 수 있습니다. response = f"서버 응답: {message.upper()}" # 간단한 예시: 메시지를 대문자로 변환 conn.sendall(response.encode('utf-8')) except Exception as e: print(f"오류 발생: {e}") finally: print(f"연결 종료: {addr}") conn.close() def start_server(): """MCP 서버를 시작하는 함수""" server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server_socket.bind((HOST, PORT)) server_socket.listen() print(f"서버 시작: {HOST}:{PORT}") while True: conn, addr = server_socket.accept() thread = threading.Thread(target=handle_client, args=(conn, addr)) thread.start() if __name__ == "__main__": start_server() ``` **설명:** * **`handle_client(conn, addr)`:** 클라이언트 연결을 처리하는 함수입니다. 클라이언트로부터 데이터를 수신하고, LangChain 모델을 사용하여 처리한 후 응답을 다시 클라이언트로 보냅니다. * **`start_server()`:** 서버 소켓을 생성하고 클라이언트 연결을 수락하는 함수입니다. 각 클라이언트 연결은 별도의 스레드에서 처리됩니다. * **LangChain 통합:** `handle_client` 함수 내에서 LangChain 모델을 사용하여 수신된 메시지를 처리하고 응답을 생성하는 부분을 구현해야 합니다. 예시에서는 간단하게 메시지를 대문자로 변환하여 응답합니다. **2. MCP 클라이언트 (Python):** ```python import socket HOST = 'localhost' # 서버 IP 주소 PORT = 12345 # 서버 포트 번호 def send_message(message): """서버에 메시지를 보내고 응답을 받는 함수""" with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket: client_socket.connect((HOST, PORT)) client_socket.sendall(message.encode('utf-8')) data = client_socket.recv(1024) return data.decode('utf-8') if __name__ == "__main__": message = "안녕하세요, 서버!" response = send_message(message) print(f"서버 응답: {response}") ``` **설명:** * **`send_message(message)`:** 서버에 메시지를 보내고 응답을 받는 함수입니다. * 클라이언트 소켓을 생성하고 서버에 연결합니다. * 메시지를 서버에 보내고 서버로부터 응답을 받습니다. * 받은 응답을 반환합니다. **LangChain과의 통합:** LangChain을 이 설정과 통합하려면 다음 단계를 따르세요. 1. **LangChain 설치:** `pip install langchain` 2. **LangChain 모델 로드:** 서버 코드에서 LangChain 모델 (예: LLMChain)을 로드합니다. 3. **메시지 처리:** `handle_client` 함수 내에서 수신된 메시지를 LangChain 모델에 입력하고 응답을 생성합니다. 4. **응답 전송:** 생성된 응답을 클라이언트로 보냅니다. **예시 (LangChain 통합):** ```python # 서버 코드 (handle_client 함수 내) from langchain.llms import OpenAI from langchain.chains import LLMChain from langchain.prompts import PromptTemplate # OpenAI API 키 설정 (환경 변수 또는 직접 설정) import os os.environ["OPENAI_API_KEY"] = "YOUR_OPENAI_API_KEY" # LangChain 모델 로드 llm = OpenAI(temperature=0.9) prompt = PromptTemplate( input_variables=["message"], template="Translate the following message to Korean: {message}" ) chain = LLMChain(llm=llm, prompt=prompt) # 메시지 처리 response = chain.run(message) conn.sendall(response.encode('utf-8')) ``` **참고:** * 위 코드는 OpenAI API를 사용하며, API 키를 설정해야 합니다. * LangChain 모델의 종류와 프롬프트는 필요에 따라 변경할 수 있습니다. * 에러 처리 및 로깅을 추가하여 코드의 안정성을 높이는 것이 좋습니다. 이 샘플 코드는 LangChain과 호환되는 기본적인 MCP 서버 및 클라이언트 설정을 제공합니다. 이 코드를 기반으로 필요에 따라 기능을 확장하고 LangChain 모델을 통합하여 다양한 애플리케이션을 구축할 수 있습니다.

Hurricane Tracker MCP Server

Hurricane Tracker MCP Server

Provides real-time hurricane tracking, 5-day forecast cones, location-based alerts, and historical storm data from NOAA/NHC through MCP tools for AI assistants.

Sequential Questioning MCP Server

Sequential Questioning MCP Server

A specialized server that enables LLMs to gather specific information through sequential questioning, implementing the MCP standard for seamless integration with LLM clients.

Spotinst MCP Server

Spotinst MCP Server

An MCP server for the Spot.io API that enables management of AWS and Azure Ocean clusters across multiple accounts. It provides tools for cluster inventory, node management, cost analysis, and scaling operations through natural language.

Plasmate

Plasmate

Agent-native headless browser for AI agents. Converts web pages to a Semantic Object Model (SOM) instead of raw HTML — 17x average token reduction across real-world sites (up to 117x on complex pages). Native MCP server with fetch_page, extract_text, extract_links, and full browser automation. No API key required.

Vora

Vora

First Voice AI MCP for AI Agents

XFetch Mcp

XFetch Mcp

스테로이드를 맞은 Fetch. Cloudflare 및 기타 보안 시스템으로 보호되는 페이지를 포함하여 모든 웹 페이지에서 콘텐츠를 검색할 수 있습니다.

Accounting MCP Server

Accounting MCP Server

Enables personal financial management through AI assistants by providing tools to add transactions, check balances, list transaction history, and generate monthly summaries. Supports natural language interaction for tracking income and expenses with categorization.

Build

Build

타입스크립트 SDK를 사용하여 다양한 MCP 서버를 만드는 방법에 대한 설명입니다. **개요** 타입스크립트 SDK를 사용하여 MCP (Management Control Plane) 서버를 만들려면 다음 단계를 따릅니다. 1. **프로젝트 설정:** 타입스크립트 프로젝트를 설정하고 필요한 의존성을 설치합니다. 2. **SDK 초기화:** MCP SDK를 초기화하고 필요한 구성 옵션을 설정합니다. 3. **API 정의:** MCP 서버에서 제공할 API를 정의합니다. 4. **핸들러 구현:** 각 API에 대한 요청을 처리하는 핸들러 함수를 구현합니다. 5. **서버 시작:** 정의된 API와 핸들러를 사용하여 MCP 서버를 시작합니다. **단계별 설명** **1. 프로젝트 설정** 먼저, 새로운 타입스크립트 프로젝트를 생성합니다. ```bash mkdir my-mcp-server cd my-mcp-server npm init -y npm install typescript --save-dev npm install @types/node --save-dev npx tsc --init ``` 필요한 MCP SDK 및 관련 의존성을 설치합니다. (실제 사용하려는 MCP SDK에 따라 다릅니다. 예시로 가상의 `mcp-sdk`를 사용합니다.) ```bash npm install mcp-sdk // 실제 MCP SDK 이름으로 변경 npm install express // 웹 서버 프레임워크 (선택 사항) npm install @types/express --save-dev // express 타입 정의 (선택 사항) ``` **2. SDK 초기화** `src/index.ts` 파일을 생성하고 SDK를 초기화합니다. ```typescript // src/index.ts import { MCPClient } from 'mcp-sdk'; // 실제 MCP SDK 이름으로 변경 import express from 'express'; // 웹 서버 프레임워크 (선택 사항) // MCP 서버 구성 const mcpConfig = { serverAddress: 'localhost:8080', // MCP 서버 주소 apiKey: 'YOUR_API_KEY', // API 키 (필요한 경우) // 기타 구성 옵션 }; // MCP 클라이언트 초기화 const mcpClient = new MCPClient(mcpConfig); // (선택 사항) Express 서버 설정 const app = express(); const port = 3000; // (선택 사항) Express 미들웨어 설정 (JSON 파싱 등) app.use(express.json()); // 서버 시작 async function startServer() { try { await mcpClient.connect(); // MCP 서버 연결 (필요한 경우) console.log('MCP Client connected.'); // (선택 사항) Express 서버 시작 app.listen(port, () => { console.log(`Server listening at http://localhost:${port}`); }); } catch (error) { console.error('Failed to start server:', error); } } startServer(); ``` **3. API 정의** MCP 서버에서 제공할 API를 정의합니다. 이는 MCP SDK에 따라 다릅니다. 예를 들어, 가상의 `mcp-sdk`가 `registerService`라는 API를 제공한다고 가정합니다. ```typescript // src/index.ts (계속) // 서비스 등록 API 정의 (예시) async function registerNewService(serviceName: string, serviceAddress: string) { try { const result = await mcpClient.registerService(serviceName, serviceAddress); console.log(`Service "${serviceName}" registered successfully:`, result); return result; } catch (error) { console.error(`Failed to register service "${serviceName}":`, error); throw error; } } ``` **4. 핸들러 구현** 각 API에 대한 요청을 처리하는 핸들러 함수를 구현합니다. Express를 사용하는 경우, HTTP 요청을 처리하는 핸들러를 만들 수 있습니다. ```typescript // src/index.ts (계속) // (선택 사항) Express 라우트 핸들러 app.post('/register-service', async (req, res) => { const { serviceName, serviceAddress } = req.body; try { const result = await registerNewService(serviceName, serviceAddress); res.json({ success: true, data: result }); } catch (error) { res.status(500).json({ success: false, error: error.message }); } }); ``` **5. 서버 시작** `tsconfig.json` 파일을 수정하여 컴파일 옵션을 설정하고, 타입스크립트 코드를 JavaScript로 컴파일합니다. ```json // tsconfig.json { "compilerOptions": { "target": "es2016", "module": "commonjs", "outDir": "./dist", "esModuleInterop": true, "strict": true, "sourceMap": true }, "include": ["src/**/*"], "exclude": ["node_modules"] } ``` ```bash npm run tsc ``` 컴파일된 JavaScript 파일을 실행하여 MCP 서버를 시작합니다. ```bash node dist/index.js ``` **다양한 MCP 서버 생성** 위의 단계를 반복하여 다양한 MCP 서버를 만들 수 있습니다. 각 서버는 다른 API를 제공하거나, 다른 구성 옵션을 사용할 수 있습니다. * **다른 API 제공:** 각 서버에 필요한 API를 정의하고 해당 핸들러를 구현합니다. * **다른 구성 옵션:** `mcpConfig` 객체를 수정하여 각 서버에 맞는 구성 옵션을 설정합니다. * **다른 포트 사용:** Express 서버를 사용하는 경우, `port` 변수를 수정하여 각 서버가 다른 포트에서 실행되도록 합니다. **예시: 두 번째 MCP 서버** 새로운 디렉토리를 만들고 위의 단계를 반복하여 두 번째 MCP 서버를 만들 수 있습니다. ```bash mkdir my-second-mcp-server cd my-second-mcp-server npm init -y npm install typescript --save-dev npm install @types/node --save-dev npx tsc --init npm install mcp-sdk // 실제 MCP SDK 이름으로 변경 npm install express npm install @types/express --save-dev ``` `src/index.ts` 파일을 수정하여 다른 API와 핸들러를 정의합니다. ```typescript // src/index.ts (두 번째 서버) import { MCPClient } from 'mcp-sdk'; // 실제 MCP SDK 이름으로 변경 import express from 'express'; const mcpConfig = { serverAddress: 'localhost:8080', // MCP 서버 주소 apiKey: 'ANOTHER_API_KEY', // 다른 API 키 }; const mcpClient = new MCPClient(mcpConfig); const app = express(); const port = 4000; // 다른 포트 app.use(express.json()); // 다른 API 정의 (예시) async function getServiceList() { try { const result = await mcpClient.getServices(); console.log('Service list:', result); return result; } catch (error) { console.error('Failed to get service list:', error); throw error; } } app.get('/services', async (req, res) => { try { const result = await getServiceList(); res.json({ success: true, data: result }); } catch (error) { res.status(500).json({ success: false, error: error.message }); } }); async function startServer() { try { await mcpClient.connect(); console.log('MCP Client connected (Second Server).'); app.listen(port, () => { console.log(`Second Server listening at http://localhost:${port}`); }); } catch (error) { console.error('Failed to start second server:', error); } } startServer(); ``` `tsconfig.json` 파일을 설정하고, 코드를 컴파일하고, 서버를 시작합니다. ```bash npm run tsc node dist/index.js ``` **주의 사항** * **MCP SDK:** 위 예제는 가상의 `mcp-sdk`를 사용합니다. 실제 MCP SDK의 API와 구성 옵션을 사용해야 합니다. * **에러 처리:** 에러 처리를 꼼꼼하게 구현하여 안정적인 서버를 구축해야 합니다. * **보안:** API 키와 같은 민감한 정보는 안전하게 관리해야 합니다. 환경 변수를 사용하는 것이 좋습니다. * **로깅:** 로깅을 통해 서버의 동작을 추적하고 문제를 해결하는 데 도움을 받을 수 있습니다. * **테스트:** 단위 테스트 및 통합 테스트를 통해 서버의 기능을 검증해야 합니다. 이 가이드라인을 통해 타입스크립트 SDK를 사용하여 다양한 MCP 서버를 구축하는 데 도움이 되기를 바랍니다. 실제 사용하려는 MCP SDK의 문서를 참조하여 자세한 정보를 확인하십시오.

Fortnox Doc MCP

Fortnox Doc MCP

Provides comprehensive documentation for 377 Fortnox API endpoints and 81 resource categories directly from the official OpenAPI specification. It enables users to search, browse, and explore technical endpoint details and data schemas within AI assistants without requiring authentication.

Prompt Bookmarks

Prompt Bookmarks

Enables users to organize, search, and manage a shared library of prompts across AI tools via the Model Context Protocol. It supports hierarchical folder organization, tagging, and template variable substitution for dynamic prompt generation.

Android Puppeteer

Android Puppeteer

Enables AI agents to interact with Android devices through visual UI element detection and automated interactions. Provides comprehensive Android automation capabilities including touch gestures, text input, screenshots, and video recording via uiautomator2.

agentranking

agentranking

Discover and rank ERC-8004 AI agents by archetype, chain, trust score, and verified on-chain performance. Free search tools + paid analytics via x402 micropayments.