有理数计算服务

一个基于C++有理数计算库与Go MCP服务器集成的计算工具,支持通过MCP协议与兼容客户端(如gemini_cli)进行交互,实现精确的有理数算术运算。

  • by Socrad
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 socrad/rationalcalcserver

使用说明

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

设置

  1. 克隆存储库:

    git clone --recurse-submodules https://github.com/Socrad/rationalCalcServer.git
    cd rationalCalcServer
    

    如果你克隆没有 --recurse-submodules,初始化并更新子模块:

    git submodule update --init --recursive
    
  2. 构建项目: 这 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许可证分发。看 许可证 了解更多信息。