Skip to main content
Glama

MCP Playground

by anhkhoa289

MCP Playground

MCP (Model Context Protocol) server với hỗ trợ cả hai phương thức transport:

  • Pure MCP SDK (Stdio) - Standard input/output transport

  • SSE Transport (Server-Sent Events) - HTTP-based transport

Tính năng

  • ✅ Hỗ trợ Pure MCP SDK với Stdio transport

  • ✅ Hỗ trợ SSE (Server-Sent Events) transport

  • ✅ Các công cụ (tools) ví dụ: echo, add, get_time, generate_uuid

  • ✅ Các tài nguyên (resources) ví dụ: server info, example data

  • ✅ TypeScript với type safety đầy đủ

  • ✅ Development mode với hot reload

Cài đặt

npm install

Sử dụng

1. Stdio Transport (Pure MCP SDK)

Chạy server với stdio transport:

# Development mode npm run dev # Production mode npm run build npm start

Server sẽ giao tiếp qua stdin/stdout, phù hợp cho việc tích hợp với Claude Desktop hoặc các MCP clients khác.

Cấu hình cho Claude Desktop

Thêm vào file cấu hình Claude Desktop (claude_desktop_config.json):

{ "mcpServers": { "mcp-playground": { "command": "node", "args": ["/path/to/mcp-playground/dist/index.js"] } } }

Hoặc trong development mode:

{ "mcpServers": { "mcp-playground": { "command": "npx", "args": ["tsx", "/path/to/mcp-playground/src/index.ts"] } } }

2. SSE Transport (Server-Sent Events)

Chạy server với SSE transport:

# Development mode npm run dev:sse # Production mode npm run build npm run start:sse

Server sẽ chạy trên http://localhost:3000 với các endpoints:

  • GET /health - Health check

  • GET /sse - SSE connection endpoint

  • POST /messages - Client message endpoint

Kết nối với SSE Client

Sử dụng MCP Client để kết nối:

import { Client } from "@modelcontextprotocol/sdk/client/index.js"; import { SSEClientTransport } from "@modelcontextprotocol/sdk/client/sse.js"; const transport = new SSEClientTransport( new URL("http://localhost:3000/sse") ); const client = new Client( { name: "example-client", version: "1.0.0", }, { capabilities: {}, } ); await client.connect(transport);

API

Tools (Công cụ)

echo

Phản hồi lại tin nhắn được gửi.

Input:

{ "message": "Hello, World!" }

Output:

Echo: Hello, World!

add

Cộng hai số với nhau.

Input:

{ "a": 5, "b": 3 }

Output:

5 + 3 = 8

get_time

Trả về thời gian hiện tại của server.

Input:

{}

Output:

Current server time: 2024-01-15T10:30:00.000Z

generate_uuid (chỉ SSE)

Tạo UUID ngẫu nhiên.

Input:

{}

Output:

Generated UUID: 123e4567-e89b-12d3-a456-426614174000

Resources (Tài nguyên)

info://server

Thông tin về MCP server.

data://example

Dữ liệu JSON ví dụ.

stats://connections (chỉ SSE)

Thống kê kết nối.

Cấu trúc dự án

mcp-playground/ ├── src/ │ ├── index.ts # Stdio transport server │ └── sse-server.ts # SSE transport server ├── dist/ # Compiled JavaScript ├── package.json ├── tsconfig.json └── README.md

Development

# Build project npm run build # Watch mode (auto rebuild) npm run watch # Run stdio server in dev mode npm run dev # Run SSE server in dev mode npm run dev:sse

Kiểm thử

Test Stdio Transport

# Chạy server npm run dev # Gửi JSON-RPC request qua stdin (trong terminal khác) echo '{"jsonrpc":"2.0","id":1,"method":"tools/list"}' | npm run dev

Test SSE Transport

# Chạy server npm run dev:sse # Test health endpoint curl http://localhost:3000/health # Test SSE endpoint (trong browser hoặc với curl) curl -N http://localhost:3000/sse

Tài liệu tham khảo

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/anhkhoa289/mcp-playground'

If you have feedback or need assistance with the MCP directory API, please join our Discord server