构建一个轻量级的模型上下文协议(MCP)服务器,帮助工具流水线识别并证明工作是由AI系统还是人类完成的。此仓库是更丰富来源信号的基础。
cmd/server 委托到内部包的 Go HTTP 服务器internal/mcp 下的 JSON-RPC 2.0 层以保持与MCP兼容internal/tools)用于来源启发式算法/ 处的 HTTP 路由器用于健康检查,在 /mcp 处用于合同流量go mod tidy
go run .
服务器在 http://localhost:3000 启动。
go run ./cmd/server
服务器记录传入的方法调用,并在致命错误时退出,以保持反馈循环紧密。
| 方法 | 描述 | 结果骨架 |
|---|---|---|
tools/list | 列出可用的来源工具 | { tools: [{ name: "echo", ... }] } |
tools/call | 回声提交的文本以测试连接 | { result: { output: { text: "<input>" } } } |
{
"jsonrpc": "2.0",
"id": "req-42",
"method": "tools/call",
"params": {
"tool": "analyze_origin",
"input": {
"text": "由ChatGPT 4o准备的草稿",
"source_hint": "slack导出"
}
}
}
响应(截断):
{
"result": {
"output": {
"origin": "ai_system",
"confidence": 0.9,
"explanation": "检测到对AI模型令牌的明确引用。",
"timestamp": "..."
}
}
}
| 路径 | 目的 |
|---|---|
cmd/server | 注册工具并启动HTTP监听器的入口点 |
internal/httpserver | HTTP路由器+服务器引导程序,连接 / 和 /mcp 路由 |
internal/mcp | JSON-RPC解析、方法分派、错误响应 |
internal/tools | 注册表、默认回声工具及来源启发式算法 |
| 工具 | 文件 | 描述 |
|---|---|---|
dummy_echo | internal/tools/dummy.go | 循环输入负载返回给客户端进行流水线烟雾测试 |
analyze_origin | internal/tools/analyze_origin.go | 简单的字符串启发式来源检测器,带有置信度和解释 |
通过 tools.Register(...) 添加自己的工具,它们将自动流经 tools/list 和 tools/call。
git checkout -b feature/<name>使用清晰优先的Go模式构建,以建立值得信赖的MCP生态系统。