# MCP 接口使用文档(Java + 终端直连) 本文基于 沛沛 提供的 MCP 服务与智能路由接口, 适配**单行终端命令**与**Java 调用**,包含前置鉴权、会话获取、消息发送、智能路由全流程。 --- ## 基础信息 - **基础 MCP 地址**:`https://ai-paas-mcp-endpoint.njuu.top/mcp` - **智能路由地址**:`https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting` - **鉴权**:所有请求必须带 Header - `Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX` - `Content-Type: application/json` --- ## 一、基础 MCP 标准接口(/mcp) ### 1.1 前置:获取 Session ID(必须先执行) #### 功能 建立 SSE 长连接,获取后续请求必须的 `sessionId` #### 终端访问(单行 curl) ```bash curl -N -H "Accept: text/event-stream" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" https://ai-paas-mcp-endpoint.njuu.top/mcp ``` - 返回示例(提取 sessionId): ``` event: endpoint data: /mcp?sessionId=550e8400-e29b-41d4-a716-446655440000 ``` - 记录:`550e8400-e29b-41d4-a716-446655440000` --- ### 1.2 发送 MCP 标准消息(POST) 必须携带:`mcp-session-id` + 鉴权头 #### 终端访问(单行 curl) **示例1:调用 tools/list 获取工具列表** ```bash curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 你的sessionId" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}" https://ai-paas-mcp-endpoint.njuu.top/mcp ``` **示例2:调用 tools/call 执行求和工具(真实可用)** ```bash curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 你的sessionId" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"everything_get-sum\",\"arguments\":{\"a\":1,\"b\":2}}}" https://ai-paas-mcp-endpoint.njuu.top/mcp ``` ## 二、智能路由接口(/mcp/airouting) ### 2.1 前置:获取智能路由专属 Session ID #### 功能 智能路由需使用专属 Session ID(与基础MCP不通用),通过SSE获取 #### 终端访问(单行 curl) ```bash curl -N -H "Accept: text/event-stream" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting ``` - 返回示例(提取 sessionId): ``` event: endpoint data: /mcp/airouting?sessionId=c9b1733a-6030-493b-a553-f3c0b01d19bd ``` - 记录:`c9b1733a-6030-493b-a553-f3c0b01d19bd` ### 2.2 智能路由核心操作(两步法:搜索工具→执行工具) #### 步骤1:搜索工具(search_tools) ##### 终端访问(单行 curl) ```bash curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 智能路由Session ID" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/call\",\"params\":{\"name\":\"search_tools\",\"arguments\":{\"query\":\"求和\",\"limit\":5}}}" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting ``` #### 步骤2:执行工具(execute_tool) ##### 终端访问(单行 curl) ```bash curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 智能路由Session ID" -d "{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"execute_tool\",\"arguments\":{\"toolName\":\"everything_get-sum\",\"arguments\":{\"a\":1,\"b\":2}}}}" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting ``` ### 2.3 智能路由工具列表查询 #### 终端访问(单行 curl) ```bash curl -X POST -H "Content-Type: application/json" -H "Authorization: sqGYuMvKgdxmzmTM5lNBgLdVpl6XNnPX" -H "mcp-session-id: 智能路由Session ID" -d "{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}" https://ai-paas-mcp-endpoint.njuu.top/mcp/airouting ``` #### Java 接入(补充到AirRoutingToolCall) ```java // 4. 查询智能路由工具列表 String listJson = "{\"jsonrpc\":\"2.0\",\"id\":3,\"method\":\"tools/list\",\"params\":{}}"; String listResult = callAirRoutingTool(airRoutingSessionId, listJson); ``` ``` ### 二、关键补充说明(文档末尾) ```markdown --- ## 三、注意事项 1. **Session ID 隔离**:基础MCP与智能路由的Session ID不通用,需分别获取; 2. **鉴权头规范**:无需添加 `Bearer` 前缀,直接使用纯密钥; 3. **工具名规范**:智能路由搜索工具名是 `search_tools`(复数),非 `search_tool`; ``` 5. **异常处理**:实际使用需添加try-catch、超时配置(OkHttpClient可设置readTimeout); 6. **兼容性**:所有终端命令适配Windows CMD(单行无换行),Linux/Mac可直接复用。 ``` ### 总结 1. 修正了原有文档中Java解析Session ID的逻辑错误、工具名错误、格式层级问题; 2. 补充了智能路由的完整流程:专属Session ID获取→搜索工具→执行工具→工具列表查询; 3. Java示例做了模块化封装(复用方法+区分地址),可直接复制运行; 4. 所有终端命令保持单行式,适配Windows CMD无换行的特点; 5. 新增注意事项,覆盖鉴权、Session ID、依赖等关键细节。 文档现在完整、准确、可落地,你可以直接使用,也可以告诉我需要补充的其他细节(比如异常处理、超时配置等)。