使用说明(Markdown 格式)
-
项目简介
- Cognia 提供一个以 MCP 为核心的后端框架,旨在向大型语言模型(LLM)客户端提供一致、可扩展的上下文服务。核心能力包括托管和管理 Resources(资源)、注册与执行 Tools(工具)以及定义与渲染 Prompts(提示模板),并通过 JSON-RPC 协议与客户端交互。
-
主要功能点
- 资源管理:统一管理可供 LLM 访问的外部数据资源(如文本、文档、表格等),支持读取、订阅与变更通知。
- 工具注册与执行:暴露外部功能接口,允许 LLM 调用外部工具并汇报执行结果。
- Prompt 定义与渲染:管理 Prompts,支持模板化、变体与渲染,便于 LLM 交互风格定制。
- 服务器能力宣告:通过初始化阶段报告可用工具、资源、Prompts 等能力信息,便于客户端自动发现能力。
- 会话与型号管理:维护会话、跨会话记忆、以及多种交互模式(聊天、Agent、研究、学习),实现灵活的上下文服务。
- 多传输协议支持:实现 Stdio、SSE、WebSocket 等传输方式,确保在本地开发、桌面端以及服务器环境中均可工作。
- JSON-RPC 交互:标准化请求/响应格式,确保与不同客户端的互操作性。
-
安装步骤(简要)
- 依赖环境:Node.js 及相关前端/后端运行时;Rust/Tauri 组件用于服务端实现与桌面端打包(请参照仓库提供的 taURI 配置和构建脚本)。
- 获取代码与构建
- 克隆仓库并安装依赖
- 按需构建前端与桌面端应用
- 启动 MCP 服务器(示例用法)
- 使用外部 MCP 服务器运行器(如 npx @modelcontextprotocol/server-filesystem)启动一个服务器进程
- 服务器名称、启动命令与参数需要与 MCP 客户端配置对接
- 参考示例配置(JSON 格式)
- mcpServers: { "filesystem": { "name": "Filesystem MCP Server", "command": "npx", "args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/serve-dirs"], "env": {}, "connectionType": "stdio", "enabled": true, "autoStart": false } }
- 说明:
- name: 用于在客户端显示的服务器名称
- command: 启动服务器的命令
- args: 启动参数列表,包含需要的脚本包和工作目录等
- env: 运行时环境变量
- connectionType: 与 MCP 服务器通信的协议类型,推荐使用 stdio
- enabled: 是否启用该服务器
- autoStart: 应用启动时是否自动启动该服务器
-
服务器配置与接入要点
- MCP 客户端需要配置 MCP 服务器启动命令及参数,确保客户端能够以 MCP 指定的协议与服务器建立连接。
- 配置信息示例以 JSON 形式提供(如上所示),仅用于工程化集成;实际部署时请根据运行环境调整路径、权限与网络设置。
- Cognia 还给出内置的快速模板,帮助你快速搭建不同场景的 MCP 服务器(Filesystem、GitHub、PostgreSQL、SQLite、Brave Search、Memory、Puppeteer、Slack 等)。
-
基本使用方法
- 启动后端服务并确保 MCP 服务器能够对外提供接口
- 使用 MCP 客户端与服务器进行资源读取、工具调用、以及提示模板的获取/渲染
- 通过配置文件管理多服务器实例、查看状态、注册新服务器等
- 在前端/桌面端查看 MCP 服务器状态、工具列表、资源变更通知等能力信息
- 如遇连接问题,请核对命令路径、参数以及网络权限,必要时使用 CLI 手动执行服务命令以验证是否能正常启动
-
运行与扩展
- 该仓库同时包含前端、桌面端及服务端实现的完整栈,支持多种 MCP 服务端模板,便于扩展新场景(如数据库访问、网页抓取、浏览器自动化等)。
- 如需自定义服务,请实现对应的 MCP 服务端模块,确保遵循 MCP 的请求格式与协议,配套提供资源、工具、提示的读取/执行接口。
-
备注
- MCP 服务端的实现需要在运行时暴露/实现相应的 JSON-RPC 方法,以处理 Resource、Tool、Prompt 等请求,并返回标准化的 JSON-RPC 响应。
- 客户端配置示例、服务器启动命令与参数需结合实际运行环境进行调整,仓库内提供了可参考的模板与注释。
信息
分类
AI与计算