Token导航 LogoToken导航TokenDH.com
Training Typescript logo
搜索检索未说明官方级别未说明来源级核验

Training Typescript

MCP Server

一个基于TypeScript实现的MCP协议服务器,提供数据库交互和网络搜索功能,支持RESTful API和实时更新。

工具数

3

提示词数

0

GitHub Stars

0

资源数

0
数据库交互实时更新TypeScript搜索API集成

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

revhawk

提供方

revhawk

最后核验

2026/5/17 20:20

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

TypeScript中MCP服务器的实现

这是模型上下文协议(MCP)服务器的TypeScript实现。服务器提供了一组用于与数据库交互和执行网络搜索的工具。

特性

  • MCP协议实现
  • SQLite数据库集成
  • 网络搜索功能
  • RESTful API端点
  • 带有Swagger UI的交互式API文档
  • CORS支持
  • 会话管理
  • 用于实时更新的服务器发送事件(SSE)

先决条件

  • Node.js(v14或更高版本)
  • npm(v6或更高版本)

安装

  1. 克隆存储库:
git clone https://github.com/yourusername/mcp-typescript-workshop.git
cd mcp-typescript-workshop
  1. 安装依赖项:
npm install
  1. 构建项目:
npm run build

运行服务器

发展模式

npm run dev

生产模式

npm start

默认情况下,服务器将在端口3000上启动。您可以访问:

  • API文件:http://localhost:3000/api-docs
  • MCP端点:http://localhost:3000/mcp

测试服务器

您可以使用curl命令测试服务器。以下是测试所有功能的完整序列:

  1. 初始化新会话:
curl -v -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"initialize","params":{},"id":1}'

这将返回后续请求所需的会话ID。

  1. 列出可用工具:
curl -v -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: YOUR_SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"list_tools","params":{},"id":2}'
  1. 让所有员工:
curl -v -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: YOUR_SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"call_tool","params":{"name":"get_employees","arguments":{}},"id":3}'
  1. 按部门搜索员工:
curl -v -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: YOUR_SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"call_tool","params":{"name":"search_employees","arguments":{"department":"Engineering"}},"id":4}'
  1. 执行网络搜索:
curl -v -X POST http://localhost:3000/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: YOUR_SESSION_ID" \
  -d '{"jsonrpc":"2.0","method":"call_tool","params":{"name":"web_search","arguments":{"query":"Model Context Protocol"}},"id":5}'
  1. 终止会话:
curl -v -X DELETE http://localhost:3000/mcp \
  -H "mcp-session-id: YOUR_SESSION_ID"

注:更换 YOUR_SESSION_ID 其中会话ID是从初始化请求中接收到的。

预期响应

  1. 初始化响应:
{
  "jsonrpc": "2.0",
  "result": {
    "sessionId": "e6c389d7-e90a-4d09-a916-47bc5edd365e",
    "serverInfo": {
      "name": "workshop-typescript-server",
      "version": "1.0.0"
    }
  },
  "id": 1
}
  1. 让员工回应:
{
  "jsonrpc": "2.0",
  "result": {
    "content": [{
      "type": "text",
      "text": "Employees:\nID: 1, Name: Alice Johnson, Department: Engineering, Salary: $85000\nID: 2, Name: Bob Smith, Department: Marketing, Salary: $62000\nID: 3, Name: Carol Davis, Department: Engineering, Salary: $92000\nID: 4, Name: David Wilson, Department: Sales, Salary: $58000\n"
    }]
  },
  "id": 3
}

API文档

API文档可在 http://localhost:3000/api-docs 当服务器正在运行时。文件包括:

  • 所有可用端点
  • 请求/响应模式
  • 交互式测试界面
  • 请求和响应示例

可用端点

POST/mcp

MCP通信的主要端点。手柄:

  • 会话初始化
  • 工具列表
  • 工具执行

GET/mcp

用于实时更新的服务器发送事件(SSE)端点。

删除/mcp

用于终止MCP会话的终结点。

可用工具

  1. get_员工

- 描述:从数据库中获取所有员工 - 无需输入参数

  1. 网络搜索

- 说明:在网上搜索信息 - 输入参数: - query(字符串):搜索查询

  1. 搜索_员工

- 描述:按部门或姓名搜索员工 - 输入参数: - department(字符串,可选):要搜索的部门 - name(字符串,可选):要搜索的名称

会话管理

服务器使用会话ID来维护请求之间的状态。会话ID为:

  • 初始化过程中生成
  • 必填项 mcp-session-id 后续请求的标头
  • 会话终止时自动清理

错误处理

服务器以以下格式提供详细的错误响应:

{
  "jsonrpc": "2.0",
  "error": {
    "code": -32000,
    "message": "Error description"
  },
  "id": null
}

发展

项目结构

src/
  ├── server.ts      # Main server implementation
  ├── swagger.ts     # API documentation configuration
  └── types/         # TypeScript type definitions

建筑

npm run build

测试

npm test

许可证

此项目根据ISC许可证获得许可-有关详细信息,请参阅许可证文件。

贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

目录标签

目录标签

数据库交互实时更新TypeScript搜索API集成本地部署网络搜索RESTfulAPI

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

3

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明session部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP