返回市场
MCP-TypeScript-启动器

MCP-TypeScript-启动器

作者:madhukarkumar5 星标更新:2025-04-12

项目介绍

Hello World MCP 服务器

一个使用TypeScript构建的简单Model Context Protocol (MCP)服务器实现。该服务器演示了基本的MCP功能,包括资源、提示和工具。

功能

  • 支持SSE和STDIO传输
  • 静态和动态资源处理
  • 示例提示实现
  • 回显消息的示例工具
  • 用于服务器内省的调试工具

开始使用

先决条件

  • Node.js (v16或更高版本)
  • npm或yarn

安装

npm install

构建

npm run build

运行服务器

HTTP/SSE传输(Web浏览器)

npm run start:http

这将在http://localhost:3000启动服务器,并提供以下端点:

  • SSE端点在 /sse
  • 消息端点在 /messages

STDIO传输(命令行)

npm run start

这将以stdio模式运行服务器,适用于命令行集成。

测试服务器

使用cURL测试

  1. 启动HTTP服务器:

    npm run start:http
    
  2. 在终端窗口中连接到SSE端点:

    curl -N http://localhost:3000/sse
    

    应该看到类似以下响应:

    event: endpoint
    data: /messages?sessionId=YOUR_SESSION_ID
    
  3. 在另一个终端窗口中发送请求以调用回显工具:

    curl -X POST \
      "http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \
      -H 'Content-Type: application/json' \
      -d '{
        "jsonrpc": "2.0",
        "id": 1,
        "method": "tools/invoke",
        "params": {
          "name": "echo",
          "parameters": {
            "message": "Testing the MCP server!"
          }
        }
      }'
    
  4. 应该在SSE终端窗口中看到如下响应:

    event: message
    data: {"jsonrpc":"2.0","id":1,"result":{"content":[{"type":"text","text":"Hello Testing the MCP server!"}]}}
    
  5. 尝试调试工具查看可用的服务器方法:

    curl -X POST \
      "http://localhost:3000/messages?sessionId=YOUR_SESSION_ID" \
      -H 'Content-Type: application/json' \
      -d '{
        "jsonrpc": "2.0",
        "id": 2,
        "method": "tools/invoke",
        "params": {
          "name": "debug",
          "parameters": {}
        }
      }'
    

使用MCP Inspector测试

对于可视化界面,可以使用MCP Inspector工具:

  1. 在MCP Inspector中连接到http://localhost:3000/sse
  2. 浏览可用资源和工具
  3. 交互式地调用工具

MCP Inspector HTTP模式

MCP Inspector STDIO模式

服务器API

资源

  • hello://world - 一个静态的“Hello World”资源
  • greeting://{name} - 带有名字参数的动态问候

工具

  • echo - 回显带有“Hello”前缀的消息
  • debug - 列出所有可用的工具和方法

提示

  • helpful-assistant - 一个基本的帮助助手提示

故障排除

  • 如果遇到“Headers already sent”错误,请确保没有手动设置头部信息
  • 会话ID处理对于正确路由消息至关重要
  • 查看服务器控制台获取调试信息

许可证

MIT </中文翻译>