cotogoto mcp服务器
用于CotoGoto的MCP服务器(Java/Spring Boot)
此存储库提供了一个用于CotoGoto的MCP服务器 Java/Spring引导 中所述方法的备选方法。 在MCP JSON-RPC中公开工具,并同步向CotoGoto的SSE API发送对话请求。 CotoGoto用MCP服务器的库/参照实现的规格化距离的幂函数。
______________________________________________________________________
mcp.json 关于
此存储库包含MCP客户端设置(mcp.json),模板名称将采用不同的格式。 mcp.json 的格式因使用的MCP客户机而异 请按照客户端的官方文档进行设置。
本服务器提供的接口是MCP JSON-RPC。 mcp.json 侧,请进行连接到该MCP服务器的设置。
mcp.json 和ConversationRequest的关系
mcp.json 通常是用于设置“连接到哪个服务器”的文件 ConversationRequest 等已弃用的函数的缺少的支持。 因此,ConversationRequest 列表中的“日期”,然后执行以下操作之一:sessionId / apiToken / entry 等)表示 mcp.json 不是直接写,而是在客户发送请求的时候交给你。
另一方面,本服务器本身用于调用上游API apiToken 单击功能区上 环境变数 COTOGOTO_API_KEY 请交给我application.yaml 查看项目中可用的所有族。
stdio/HTTP的不同(适用点)
本服务器是 application.yaml 的 启用stdio中所述修改相应参数的值。 因此 MCP客户端在stdio中启动的配置在工作空间的边缘/mcp 而需要与环境混合的每条反射光线,进行环境采样。
- stdio 接続:MCP客户端
java -jar ...启动,通过标准输入输出listTools/callTool进行调试。 - HTTP 接続:MCP客户端(或网桥)
http://localhost:8081/mcp中选择另一种天花板类型。
在stdio上启动了HTTP的 curl 试着做的话“不能很好地行动” 用stdio/HTTP连接之后由应用程序进行调用。
乱码对策(mcp.json的JVM选项)
根据环境的不同,JVM的默认字符代码可能不是UTF-8,日志和响应可能会被乱码。 在这种情况下 mcp.json 启动命令 -Dfile.encoding=UTF-8 选项卡页面上创建或编辑条目 请将JVM的字符代码明确固定为UTF-8。
另外,在通过自变量传递端口指定时 -server.port=8081 而是 --server.port=8081(2个连字符) 的 -jar 之后由应用程序进行调用。 -server.port=... 被解释为JVM选项Unrecognized option 中所述修改相应参数的值。
{
"mcpServers": {
"cotogoto-mcp": {
"command": "java",
"args": [
"-Dfile.encoding=UTF-8",
"-jar",
"/path/to/cotogoto-mcp-server.jar",
"--server.port=8081"
],
"env": {
"COTOGOTO_API_KEY": "your-api-token",
"SERVER_PORT": "8081"
}
}
}
}关于LM Studio
LM Studio的 mcp.json 格式在LM Studio侧定义。 LM Studio的MCP设置步骤请参阅官方文档。 https://lmstudio.ai/docs/app/mcp
请在LM Studio的MCP设置画面中进行与本服务器连接的设置。 如果只支持MCP的stdio方式,则必须准备将stdio中继到HTTP的桥。
______________________________________________________________________
设定
src/main/resources/application.yaml 中所述修改相应参数的值。
cotogoto:
upstream:
conversations-url: https://app.cotogoto.ai/webapi/api/mcp/conversations
api-token: ${COTOGOTO_API_KEY}根据需要,按环境 cotogoto.upstream.conversations-url 中所述修改相应参数的值。 apiToken 啊 COTOGOTO_API_KEY 中描述的场景,使用以下步骤创建明细表,以便在概念设计中分析体量的体积。
补足: cotogoto.upstream.api-token 如果为空,则调用工具时出错。______________________________________________________________________
构建和启动
./mvnw package
java -jar target/cotogoto-mcp-server.jarspring-boot-maven-plugin 的 executable 因为是在模式下设定的 构建后还可以直接执行以下操作:。
./target/cotogoto-mcp-server.jar事先需要的东西
- Java 17 以上
- CotoGoto的API令牌(
COTOGOTO_API_KEY)
参数传递方法
可以通过快速引导的标准参数或环境变量传递设置值。
用参数传递(java -jar /直接执行都相同)
java -jar target/cotogoto-mcp-server.jar \
--server.port=8081 \
--cotogoto.upstream.conversations-url=https://app.cotogoto.ai/webapi/api/mcp/conversations以环境变量传递
export SERVER_PORT=8081
export COTOGOTO_UPSTREAM_CONVERSATIONS_URL=https://app.cotogoto.ai/webapi/api/mcp/conversations
export COTOGOTO_API_KEY=your-api-token
java -jar target/cotogoto-mcp-server.jar传递JVM选项(例如内存)
java -Xms256m -Xmx512m -jar target/cotogoto-mcp-server.jar端点
MCP JSON-RPC(/mcp)
Spring AI的MCP服务器是JSON-RPC2.0 /mcp 中所述修改相应参数的值。 通过HTTP连接时中选择所需的墙类型。
list工具
curl -s http://localhost:8081/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "listTools"
}'callTool
curl -s http://localhost:8081/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 2,
"method": "callTool",
"params": {
"name": "cotogoto_conversation",
"arguments": {
"message": "おはようございます"
}
}
}'重要信息:如果MCP客户端是stdio启动curl而是 客户端listTools/callTool実行机能中所述修改相应参数的值。
工具名称
此服务器提供的MCP工具名称如下。
cotogoto_conversation(发送任意消息)cotogoto_work_start(通知开始作业)cotogoto_work_complete(通知作业完成)cotogoto_break_start(通知开始休息)cotogoto_break_end(通知休息结束)
LM Studio中的连接故障排除
ECONNREFUSED 127.0.0.1:8081 出现时
LM Studio的MCP桥 localhost:8081 缺少支持的问题。 请检查以下内容:。
- 服务器是否启动
- java -jar target/cotogoto-mcp-server.jar --server.port=8081 是否执行
- 端口是否匹配
- LM Studio的设置 http://localhost:8081/mcp 是否面向
- 另一进程是否未使用8081
- 已经被利用的情况下 --server.port 请更改
- 防火墙/安全软件
- 是否阻止与本地主机的连接
接続确认(HTTP MCP)
以下 listTools 返回后,HTTP MCP正常运行。
curl -s http://localhost:8081/mcp \
-H 'Content-Type: application/json' \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "listTools"
}'実装概要
ConversationRelayService
- 转到上游URL POST(Accept: text/event-stream) - 读取SSE行,聚合并返回事件名称和数据
ConversationToolService
- MCP工具(cotogoto_*),向上游发送消息
