Thinkt MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • thinkt 提供一个 MCP 服务器实现,用于向大型语言模型客户端提供统一的资源、工具、以及提示模板等上下文服务。服务器通过 JSON-RPC 与客户端通讯,支持多源数据访问、工具注册与执行、以及 PROMPT 的渲染与获取,进而帮助 LLM 在任务执行中获得一致的上下文。
  • 主要功能点

    • 资源与数据访问:托管并管理 Resources(本仓库中的 Thinkt 数据源相关能力,用于提供上下文与数据访问)。
    • 工具注册与执行:注册可被 LLM 调用的外部工具,并把调用结果作为上下文返回给模型。
    • 提示模板:定义和渲染 Prompt 模板,支持定制的 LLM 交互模式。
    • MCP 协议实现:通过 JSON-RPC 与客户端通信,接收读取资源、调用工具、获取 Prompts 等请求,返回标准化的 JSON-RPC 响应。
    • 会话管理与能力声明:服务端负责会话上下文的维护与能力声明。
    • 传输协议支持:基于设计,支持 stdio 和 HTTP 传输等场景,便于集成到本地开发环境或远程部署场景。
    • 安全认证与授权:通过 Bearer Token 进行 API/ MCP 认证,保护上下文数据与能力接口。
  • 安装步骤

    • 确保安装了 Go 开发环境与依赖工具。
    • 构建并安装 Thinkt 的 MCP 服务器功能(通常通过 Thinkt 的主命令集来启动 MCP 服务)。
    • 常用启动方式:
      • 通过命令行在前台启动 MCP 服务器(stdio 模式,常用于桌面客户端集成);
      • 通过 HTTP 启动 MCP 服务器(指定端口和 Bearer Token 安全策略)。
    • 令牌生成(用于 HTTP/ MCP 认证):
      • 使用 Thinkt 提供的 token 生成命令生成一个安全 token,作为后续 MCP 客户端认证的 Bearer Token。
  • 服务器配置(MCP 客户端需要的配置示例,不是服务端代码本身的实现细节) 详细配置示例(JSON,包含 server 名称、启动命令与参数,以及环境变量来传递 token): { "mcpServers": { "thinkt": { "command": "thinkt", "args": ["server", "mcp"], "env": { "THINKT_MCP_TOKEN": "your-secure-token-here" } // 说明: // - "thinkt" 为 MCP 服务端在客户端配置中的名称标识; // - "command" 与 "args" 指定了启动 MCP 服务的命令及参数,用于建立 JSON-RPC 通道; // - "THINKT_MCP_TOKEN" 为 HTTP 传输的 Bearer token,客户端需要在 Authorization: Bearer <token> 中携带; // - 如果需要在开发环境使用 HTTP,请将传输方式配置为 HTTP,并确保端口暴露。 } } }

  • 基本使用方法

    • 启动
      • 选择 stdio 传输:在客户端直接与 MCP 服务在同一进程或同一终端内对接,使用标准输入输出传输;
      • 选择 HTTP 传输:通过端口暴露 MCP API,客户端通过 HTTP 请求进行 JSON-RPC 调用,需携带 Bearer Token。
    • 常用操作
      • 客户端通过 MCP 发送 JSON-RPC 请求,读取和执行资源读取、工具调用、Prompts 获取等能力;
      • 服务端响应标准 JSON-RPC 格式,包含结果数据或错误信息;
      • 服务器会话管理与能力声明与实现保持同步,便于 LLM 进行状态感知与功能调用。
    • 典型工作流
      • 客户端请求可用的工具列表与资源信息;
      • 客户端调用所需工具,服务器执行并返回结果;
      • 客户端获取并渲染 Prompt 模板,结合对话上下文进行 LLM 推理。
  • 额外说明

    • MCP 服务端实现紧密集成 Thinkt 的数据源、工具、以及 Prompts 逻辑,能够为本地开发环境中的 LLM 提供一致的上下文服务。
    • 服务端与客户端之间的认证机制、权限策略、以及跨源数据的安全访问在实现中有所体现,便于在本地或云环境下部署。

服务器信息