Discover Awesome MCP Servers

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

All16,638
Coco AI

Coco AI

Coco AI 앱 - 검색, 연결, 협업, 개인 AI 검색 및 어시스턴트, 이 모든 것을 한 공간에서.

FindRepo MCP Server

FindRepo MCP Server

MongoDB MCP Server

MongoDB MCP Server

거울

🌐 Starknet MCP Server

🌐 Starknet MCP Server

Starknet MCP server.

Most Popular Model Context Protocol (MCP) Servers

Most Popular Model Context Protocol (MCP) Servers

Smithery.ai 사용량 데이터를 기반으로 가장 인기 있는 모델 컨텍스트 프로토콜(MCP) 서버 선별 목록

Runbook MCP server

Runbook MCP server

MCP Google Map Server

MCP Google Map Server

LLM 처리 능력을 통해 사용자가 위치 검색, 장소 세부 정보 확인, 주소 지오코딩, 거리 계산, 경로 획득, 고도 데이터 검색 등을 할 수 있도록 Google Maps API 통합을 제공하는 모델 컨텍스트 프로토콜 서버.

mcp-server-imessage

mcp-server-imessage

macOS에서 iMessage와 상호 작용하기 위한 MCP 서버

Unity AI MCP Server

Unity AI MCP Server

An MCP server that provides AI-powered tools and assistance for Unity game development, integrating with Cursor IDE

Advanced PocketBase MCP Server

Advanced PocketBase MCP Server

Mirror of

MCP Servers - OpenAI and Flux Integration

MCP Servers - OpenAI and Flux Integration

Mirror of

YouTube Transcript Server

YouTube Transcript Server

거울

WorldTime MCP Server

WorldTime MCP Server

OSS TimezoneDB API를 기반으로 하는 시간대 MCP 서버

MCP server for CData Connect Cloud サンプル

MCP server for CData Connect Cloud サンプル

CData Connect Cloud용 MCP 서버

prometheus-mcp-server

prometheus-mcp-server

MCP Client Server With LLM Command Execution

MCP Client Server With LLM Command Execution

MCP Windows Desktop Automation

MCP Windows Desktop Automation

AutoIt 기능을 래핑하여 LLM이 마우스/키보드 조작, 창 관리, UI 컨트롤 상호 작용을 포함한 Windows 데스크톱 작업을 자동화할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.

D&D Knowledge Navigator

D&D Knowledge Navigator

MCP 서버 구현, DnD 5e API를 리소스, 도구, 그리고 프롬프트를 사용하여 구현.

Remix Icon MCP

Remix Icon MCP

anitabi-mcp-server

anitabi-mcp-server

anitabi 巡礼地图的 MCP Server

mcp-remote-server

mcp-remote-server

Mirror of

National Parks MCP Server

National Parks MCP Server

NPS API를 통해 미국 국립공원에 대한 실시간 정보를 제공하여 사용자가 공원을 검색하고, 세부 정보, 알림, 방문자 센터, 캠프장 및 예정된 이벤트를 확인할 수 있도록 합니다.

Typescript Mcp Server Usage

Typescript Mcp Server Usage

Okay, I will provide you with a basic example of how to create an MCP (Minecraft Protocol) server using TypeScript and a suitable SDK. Keep in mind that building a full-fledged Minecraft server from scratch is a complex undertaking. This example will focus on the core setup and handling of basic connections. **Important Considerations:** * **SDK Choice:** There isn't a single, universally endorsed "Minecraft Protocol SDK" for TypeScript. Popular options include: * `prismarine-proxy`: While primarily a proxy library, it contains useful protocol parsing and handling logic that can be adapted for server creation. * `minecraft-protocol`: A lower-level library for encoding and decoding Minecraft packets. * Custom implementations: You might need to build parts of the protocol handling yourself, especially for advanced features. * **Complexity:** The Minecraft protocol is intricate. This example will only cover the initial handshake and a simple status response. Implementing full game logic (world generation, entity management, etc.) is a significant project. * **Error Handling:** This example includes basic error handling, but robust error management is crucial for a production server. * **Asynchronous Operations:** Minecraft server operations are inherently asynchronous. The code will use `async/await` for cleaner handling of promises. **Example Code (using a simplified approach and conceptual structure):** ```typescript import * as net from 'net'; // Define the server port const SERVER_PORT = 25565; // Server status information const serverInfo = { version: { name: '1.20.4', // Replace with the Minecraft version you're targeting protocol: 763, // Replace with the correct protocol version }, players: { max: 100, online: 0, sample: [], // Player list (optional) }, description: { text: 'My Awesome Minecraft Server', }, }; // Function to handle client connections async function handleClient(socket: net.Socket) { console.log(`Client connected: ${socket.remoteAddress}:${socket.remotePort}`); socket.on('data', async (data: Buffer) => { try { // Basic packet parsing (very simplified) const packetId = data.readUInt8(0); if (packetId === 0x00) { // Handshake packet // Handle handshake const protocolVersion = data.readInt32BE(1); const serverAddress = data.toString('utf8', 5); // Simplified address reading const nextState = data.readUInt8(data.length - 1); console.log(`Handshake received: Protocol ${protocolVersion}, Address ${serverAddress}, Next State ${nextState}`); if (nextState === 1) { // Status request // Respond with server status const statusResponse = JSON.stringify(serverInfo); const statusPacket = Buffer.concat([ Buffer.from([0x00]), // Status response packet ID Buffer.from(stringToMinecraftString(statusResponse)), ]); socket.write(statusPacket); } else if (nextState === 2) { // Login request (not implemented in this example) console.log("Login request received (not implemented)"); socket.end(); // Close connection for now } } else if (packetId === 0x01) { // Ping packet // Respond to ping const payload = data.readBigInt64BE(1); const pongPacket = Buffer.concat([ Buffer.from([0x01]), // Pong packet ID Buffer.alloc(8), // Payload (copy from ping) ]); pongPacket.writeBigInt64BE(payload, 1); socket.write(pongPacket); socket.end(); } else { console.log(`Unknown packet ID: ${packetId}`); socket.end(); } } catch (error) { console.error('Error handling packet:', error); socket.end(); } }); socket.on('close', () => { console.log(`Client disconnected: ${socket.remoteAddress}:${socket.remotePort}`); }); socket.on('error', (err) => { console.error('Socket error:', err); }); } // Function to convert a string to Minecraft's string format (length-prefixed UTF-8) function stringToMinecraftString(str: string): Buffer { const buffer = Buffer.from(str, 'utf8'); const length = buffer.length; const lengthBuffer = Buffer.alloc(2); // Assuming length fits in 2 bytes (adjust if needed) lengthBuffer.writeUInt16BE(length, 0); // Write length as big-endian return Buffer.concat([lengthBuffer, buffer]); } // Create the server const server = net.createServer((socket) => { handleClient(socket); }); // Start listening server.listen(SERVER_PORT, () => { console.log(`Minecraft server listening on port ${SERVER_PORT}`); }); server.on('error', (err) => { console.error('Server error:', err); }); ``` **Explanation:** 1. **Imports:** Imports the `net` module for creating a TCP server. 2. **Server Configuration:** Defines the server port and basic server information (version, player count, description). **Crucially, the `protocol` version must match the Minecraft client version you are targeting.** 3. **`handleClient(socket)`:** This function is called for each new client connection. * It listens for data on the socket (`socket.on('data', ...)`). * It attempts to parse the incoming data as a Minecraft packet. **This is the most simplified part.** A real server needs much more robust packet parsing. * **Handshake Handling:** It checks for the handshake packet (ID `0x00`). It reads the protocol version, server address, and next state. * **Status Response:** If the next state is `1` (status request), it sends a JSON response containing the server information. The JSON is converted to a Minecraft-formatted string (length-prefixed UTF-8). * **Ping Handling:** Responds to ping requests (ID `0x01`) by echoing the payload. * **Error Handling:** Includes basic `try...catch` blocks and socket error listeners. 4. **`stringToMinecraftString(str)`:** Converts a JavaScript string to the Minecraft string format, which is a length-prefixed UTF-8 string. The length is a variable-length integer (VarInt) in the actual protocol, but this example uses a simple 2-byte length. 5. **Server Creation:** Creates a `net.Server` and attaches the `handleClient` function to the connection event. 6. **Listening:** Starts the server listening on the specified port. 7. **Error Handling:** Adds an error listener to the server. **How to Run:** 1. **Install Node.js:** Make sure you have Node.js installed. 2. **Create a Project:** Create a new directory for your project. 3. **Initialize:** Run `npm init -y` in the project directory to create a `package.json` file. 4. **Install TypeScript:** `npm install typescript --save-dev` 5. **Create `tsconfig.json`:** Create a `tsconfig.json` file in your project directory with the following content (or adjust as needed): ```json { "compilerOptions": { "target": "es2020", "module": "commonjs", "outDir": "./dist", "rootDir": "./src", "strict": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "resolveJsonModule": true }, "include": ["src/**/*"], "exclude": ["node_modules"] } ``` 6. **Create `src/index.ts`:** Save the TypeScript code above as `src/index.ts` in your project directory. 7. **Compile:** Run `npx tsc` to compile the TypeScript code to JavaScript. This will create a `dist` directory with the compiled JavaScript files. 8. **Run:** Run `node dist/index.js` to start the server. **Testing:** You can test the server using a Minecraft client. Make sure the client version matches the `version.protocol` in the `serverInfo` object. Connect to `localhost:25565`. You should see the server status in the client's server list. **Limitations and Next Steps:** * **Simplified Packet Handling:** The packet parsing is extremely basic. You'll need to implement proper VarInt reading/writing and handle all the different packet types. * **No Login:** The example doesn't handle login. You'll need to implement authentication and encryption. * **No Game Logic:** There's no world generation, entity management, or any actual game logic. * **Error Handling:** The error handling is minimal. * **Asynchronous Operations:** The example uses `async/await`, but you'll need to manage asynchronous operations carefully throughout the server. To build a more complete server, you'll need to: 1. **Study the Minecraft Protocol:** Refer to the official Minecraft protocol documentation (if available) or community-maintained resources like the Wiki.vg Minecraft Protocol page. 2. **Choose an SDK:** Evaluate `prismarine-proxy`, `minecraft-protocol`, or other libraries to see if they meet your needs. You might need to combine libraries or write custom code. 3. **Implement Packet Handling:** Implement robust packet parsing and handling for all the packets you need to support. 4. **Implement Login:** Implement the login sequence, including authentication and encryption. 5. **Implement Game Logic:** Implement world generation, entity management, and other game logic. 6. **Add Error Handling:** Add comprehensive error handling and logging. This example provides a starting point. Building a Minecraft server is a challenging but rewarding project. Good luck! **Korean Translation of Key Parts:** * `Minecraft server listening on port ${SERVER_PORT}`: `Minecraft 서버가 ${SERVER_PORT} 포트에서 수신 대기 중입니다.` * `Client connected: ${socket.remoteAddress}:${socket.remotePort}`: `클라이언트가 연결되었습니다: ${socket.remoteAddress}:${socket.remotePort}` * `Client disconnected: ${socket.remoteAddress}:${socket.remotePort}`: `클라이언트가 연결 해제되었습니다: ${socket.remoteAddress}:${socket.remotePort}` * `Error handling packet:`: `패킷 처리 중 오류:` * `Socket error:`: `소켓 오류:` * `Server error:`: `서버 오류:` * `Handshake received: Protocol ${protocolVersion}, Address ${serverAddress}, Next State ${nextState}`: `핸드셰이크 수신: 프로토콜 ${protocolVersion}, 주소 ${serverAddress}, 다음 상태 ${nextState}` * `Unknown packet ID: ${packetId}`: `알 수 없는 패킷 ID: ${packetId}` * `Login request received (not implemented)`: `로그인 요청 수신 (구현되지 않음)` * `My Awesome Minecraft Server`: `나의 멋진 Minecraft 서버` This Korean translation should help you understand the log messages and server status information. Remember to adapt the code and translations to your specific needs.

Raindrop.io MCP Server (Go)

Raindrop.io MCP Server (Go)

Query MCP (Supabase MCP Server)

Query MCP (Supabase MCP Server)

거울

SNCF API MCP Server

SNCF API MCP Server

A modular Python wrapper for the SNCF API that integrates with Claude Desktop, enabling intelligent journey planning and train information retrieval across France's railway network.

Garmin MCP Server

Garmin MCP Server

Garmin Connect에 연결하여 사용자의 피트니스 및 건강 데이터(활동, 수면, 심박수, 걸음 수, 신체 구성)를 Claude 및 기타 MCP 호환 클라이언트에 제공합니다.

GitHub MCP Server

GitHub MCP Server

AWS CodePipeline MCP Server

AWS CodePipeline MCP Server

AWS CodePipeline과 통합되어 사용자가 자연어 명령을 사용하여 Windsurf 및 Cascade를 통해 파이프라인을 관리할 수 있도록 하는 모델 컨텍스트 프로토콜 서버입니다.

Windows CLI MCP Server

Windows CLI MCP Server

거울