# mcsm-mcp
## 概述
`mcsm-mcp` 是一个轻量级的 **MCP(模型上下文协议)** 客户端库,帮助您的应用程序与兼容 MCP 的服务器进行通信。它支持多种传输机制——**STDIO**、**SSE**、以及 **Streamable HTTP**,并且可以在 **CLI** 脚本和 **UI** 工具中使用。
---
## 安装
```bash
git clone https://github.com/SMGoro/mcsm-mcp.git
cd mcsm-mcp
npm install
```
该包在 Windows、macOS 和 Linux 上均可使用。
---
## 配置 & 使用
客户端默认从 `mcp.json`(JSON 文件)读取配置。以下是三种传输方式的示例。
### STDIO(默认)
```json
{
"mcpServers": {
"my-stdio-server": {
"type": "stdio",
"command": "node",
"args": ["build/index.js", "--debug"],
"env": {
"MCSM_API_KEY": "your-api-key",
"MCSM_API_URL": "http://localhost:23333",
"DEBUG": "true"
}
}
}
}
```
#### 使用示例(STDIO)
```bash
# 启动服务器并打开 UI(默认)
npx @modelcontextprotocol/inspector node build/index.js
# 仅运行单个命令(CLI 模式)
npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list
# 使用自定义配置文件
npx @modelcontextprotocol/inspector --cli --config ./mcp.json --server my-stdio-server
```
### Streamable HTTP
```json
{
"mcpServers": {
"my-http-server": {
"type": "streamable-http",
"url": "http://localhost:3010/mcp?mcsm-api-key=your-api-key&mcsm-api-url=http://localhost:23333"
}
}
}
```
#### 使用示例(Streamable HTTP)
```bash
# 使用相同的 CLI 包装器并指定 HTTP 传输
npx @modelcontextprotocol/inspector --cli --config ./mcp.json --server my-http-server
```
将上述 JSON 保存为项目根目录下的 `mcp.json`,或使用 `--config` 参数指定自定义路径。
---
## 测试客户端
### CLI 模式(脚本化)
库自带一个可通过 `npx @modelcontextprotocol/inspector` 调用的 CLI 包装器。
```bash
# 基本使用 – 启动服务器并打开 UI
npx @modelcontextprotocol/inspector node build/index.js
# CLI 模式 – 运行单个命令而不打开 UI
npx @modelcontextprotocol/inspector --cli node build/index.js --method tools/list
# 使用自定义配置文件
npx @modelcontextprotocol/inspector --cli --config ./mcp.json --server my-stdio-server
```
### UI 模式(交互式)
不带 `--cli` 参数直接运行会启动 **MCP Inspector UI**,默认地址 `http://localhost:6274`。
```bash
npx @modelcontextprotocol/inspector node build/index.js
```
您也可以直接从已有配置启动 UI:
```bash
npx @modelcontextprotocol/inspector --config ./mcp.json
```
项目提供了完整的测试套件,验证每种传输方式(STDIO、SSE、Streamable HTTP)。测试基于 `docs/MCPInspector_README.md` 中的 **MCP Inspector** 文档。
1. 打开 Inspector UI(参见 *UI 模式*)。
2. 在 **Servers File** 面板点击 **"Servers File"**,复制对应传输方式的完整配置 JSON。
3. 将 JSON 保存为临时文件,例如 `mcp-test.json`。
4. 运行 CLI 测试命令:
```bash
npx @modelcontextprotocol/inspector --cli --config ./mcp-test.json --method tools/list
```
5. 检查输出是否与预期的工具列表匹配。
CI 流水线会自动执行 GUI 与 CLI 两种模式的测试。
---
### 项目链接
- GitHub 仓库: <https://github.com/SMGoro/mcsm-mcp>
- MCSManager 站点: <https://mcsmanager.com/>
- Model Context Protocol: <https://modelcontextprotocol.io/>
---
## 许可证
AGPL-3.0