模型上下文协议服务器

一个支持HTTP和STDIO传输协议的模型上下文协议服务器,具备员工管理功能。

  • by Legitate
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 Legitate/MCP_Server_with_http_OAuth_stdio

使用说明

MCP节点服务器

具有员工管理功能的模型上下文协议(MCP)服务器,支持两者 超文本传输协议 和 工作室 运输。

特性

  • ✅ 双重运输支持
    • HTTP传输(带有OAuth 2.0的REST API)
    • STDIO传输(用于MCP客户端的JSON-RPC 2.0)
  • ✅ 员工管理
    • 创建员工
    • 列出员工
  • ✅ OAuth 2.0身份验证 (HTTP传输)
  • ✅ MCP协议合规性 (STDIO传输)

需求

  • Node.js 18+
  • npm

安装

npm install

运行服务器

HTTP传输(REST API)

启动HTTP服务器:

npm start
# or
npm run dev  # with auto-reload

服务器运行时间: http://127.0.0.1:8080

特征:

  • OAuth 2.0客户端凭据流
  • REST API端点
  • 服务器发送事件(SSE)支持

看 API_GUIDE.md 用于HTTP API文档。

STDIO传输(JSON-RPC 2.0)

启动STDIO服务器:

npm run start:stdio
# or
npm run dev:stdio  # with auto-reload

特征:

  • JSON-RPC 2.0协议
  • 与Claude Desktop和其他MCP客户端兼容
  • 无身份验证(本地进程)

看 STDIO_GUIDE.md 用于STDIO协议文档。

快速开始

HTTP传输

  1. 注册客户:
curl -X POST http://127.0.0.1:8080/mcp/register
  1. 获取访问令牌:
curl -X POST http://127.0.0.1:8080/mcp/token \
  -H "Content-Type: application/json" \
  -d '{"grant_type":"client_credentials","client_id":"...","client_secret":"..."}'
  1. 创建员工:
curl -X POST http://127.0.0.1:8080/mcp/call \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{"tool":"employee_create","params":{"name":"Alice","department":"Engineering"}}'

STDIO传输

STDIO服务器通过stdin/stdout上的JSON-RPC消息进行通信。看 STDIO_GUIDE.md 例如。

测试

测试HTTP服务器

./test-api.sh

测试STDIO服务器

node test-stdio.js

项目结构

mcp_server/
├── src/
│   ├── server.js          # HTTP transport server
│   ├── stdio-server.js    # STDIO transport server
│   ├── oauth.js           # OAuth 2.0 implementation
│   └── employees.js       # Shared employee management
├── data/
│   ├── employees.json     # Employee data store
│   ├── clients.json       # OAuth clients
│   └── tokens.json        # OAuth tokens
├── API_GUIDE.md          # HTTP API documentation
├── STDIO_GUIDE.md        # STDIO protocol documentation
└── QUICK_START.md        # Quick reference

可用工具

employee_create

创建新的员工记录。

参数:

  • name (必填):员工姓名
  • department (可选):部门名称
  • role (可选):工作角色
  • email (可选):电子邮件地址

employee_list

列出所有员工。

参数: 无

运输比较

特性 HTTP STDIO
协议 REST API JSON-RPC 2.0
身份验证 OAuth 2.0 无
使用案例 远程API 本地MCP客户端
客户 卷发器、邮差等。 克劳德桌面等。

文档

许可证

麻省理工学院