Rational计算器MCP服务器
该项目将C++有理数计算器与基于Go的模型上下文协议(MCP)服务器集成在一起。Go服务器将C++计算器作为MCP工具公开,允许其他兼容MCP的客户端,例如 gemini_cli,执行有理数运算。
项目结构
RationalSystem/:一个包含C++有理数计算器库的Git子模块。server/:包含Go MCP服务器实现。Makefile:提供用于构建C++计算器和Go服务器的命令。
特性
- 有理数算术: 使用C++库进行有理数的精确计算。
- 模型上下文协议(MCP)集成: 将计算器功能作为MCP工具公开,实现与MCP兼容系统的无缝集成,如
gemini_cli. - 标准I/O通信: MCP服务器通过标准输入/输出(stdio)进行通信
- 简单构建过程: A.
Makefile简化了编译和设置。
入门指南
先决条件
- Go(1.24.5或更高版本)
- C++编译器(建议使用g++)
- Git
设置
- 克隆存储库:
git clone --recurse-submodules https://github.com/Socrad/rationalCalcServer.git
cd rationalCalcServer如果你克隆没有 --recurse-submodules,初始化并更新子模块:
git submodule update --init --recursive- 构建项目:
这 Makefile 将编译C++有理计算器和Go MCP服务器。
make all这将创建 server/rational_calculator (C++可执行文件)和 server/mcp_server (Go可执行文件)。
与集成 gemini_cli
此MCP服务器旨在与 gemini_cli 作为一种定制工具。建成后 mcp_server 可执行,您可以配置 gemini_clis settings.json (或类似的配置文件)将此服务器注册为工具提供者。
*注意:具体配置可能因您的 gemini_cli 版本和设置。参见 gemini_cli 用于精确工具注册细节的文档。*
配置后 gemini_cli (以及底层LLM)将能够自动调用 rational_calculator 有理数运算工具。
用法(MCP工具)
一旦服务器运行并向MCP客户端注册(如 gemini_cli),您可以与 rational_calculator 工具。该工具需要三个参数: operand1 (字符串), operator (字符串),以及 operand2 (字符串)。
工具名称: rational_calculator 说明: Performs calculations with integers and rational numbers. Use this tool for everyday arithmetic and comparisons.
该工具将以字符串形式返回操作结果。
清理
要删除已编译的二进制文件,请执行以下操作:
make clean依赖项
这 rationalCalcServer 项目依赖于以下外部存储库和工具:
- Rational系统:提供
Rational类和calculator_main.cpp用于有理数算术和比较运算。根据MIT许可证获得许可。 - MCP Go SDK:实现模型上下文协议(MCP)服务器以公开
calculator_main.cpp作为LLM客户的工具。根据MIT许可证获得许可。 - 去:构建MCP服务器需要Go 1.18或更高版本。
- C++17编译器:需要一个与C++17兼容的编译器(例如GCC、Clang)来构建
rational_calculator可执行。 - CMake (可选):用于构建
RationalSystem组件(如果包含在构建过程中)。
致谢
该项目基于以下开源贡献:
- Rational系统:为了强健
Rational类实现,在谷歌Gemini的协助下开发。 - 模型上下文协议(MCP):用于实现LLM集成的标准化协议,由Anthropic和Go团队维护。
许可证
根据MIT许可证分发。看 许可证 了解更多信息。
