Token导航 LogoToken导航TokenDH.com
MCP for gap logo
运维云端stdio官方级别未说明来源级核验

MCP for gap

MCP Server

MCP for GAP是一个统一的服务实现,将GAP包函数作为工具暴露给MCP客户端调用,支持动态工具加载和包特定配置。

工具数

4

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude数学计算Claude DesktopClaudeCline

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

kamalsaleh

提供方

kamalsaleh

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install mcp

详细介绍

GAP的MCP

GAP(组、算法、编程)包的模型上下文协议(MCP)服务器实现。

概述

该项目提供了一个统一的MCP服务器,将GAP包函数作为MCP客户端(如Claude Desktop、Cherry Studio、Cline等)可以调用的工具公开。

特性

  • 统一服务器:单个MCP服务器,带有指定GAP包中的工具
  • 动态工具加载:自动从使用AutoDoc记录的GAP包中提取工具
  • 软件包特定配置:通过以下方式自定义每个包的工具过滤 mcp_for_gap/files/config.yml
  • 命名空间工具:不同包中的工具带有前缀,以避免命名冲突

建筑

config.yml → extract_tools.py → JSON files → mcp_server.py → MCP Clients
                                ↓              ↓
                          path-to/mcp_for_gap/files/packages/   GAP Session
                          ├── CAP.json
                          ├── LinearAlgebraForCAP.json
                          └── ModulePresentationsForCAP.json

安装

  1. 确保GAP已安装并在PATH中可用
  1. 安装Python mcp包:
   pip install mcp

配置

1.配置GAP包(config.yml)

在文件中指定 config.yml 导出哪些GAP包以及包含/排除哪些工具:

packages:
  - name: LinearAlgebraForCAP
    tools:
      - MatrixCategory
      - VectorSpaceObject
      - VectorSpaceMorphism
  - name: ModulePresentationsForCAP
    tools:
      - all
    exclude_tools_with_subwords:
      - INSTALL

extract_mcp_schema_for:
  - LinearAlgebraForCAP
  - ModulePresentationsForCAP

2.提取工具

运行提取脚本以生成JSON工具定义:

python3 extract_tools.py

这将在中创建JSON文件 mcp_for_gap/files/packages/ 目录。

3.配置MCP客户端

将统一服务器添加到MCP客户端配置中。服务器将自动从所有GAP包中加载工具。

适用于克劳德桌面

编辑您的Claude Desktop配置文件:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • 视窗: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

添加以下配置:

 {
  "mcpServers": {
    "gap": {
      "command": "python3",
      "args": [
        "/absolute/path/to/mcp_for_gap/mcp_server.py"
      ]
    }
  }
}

对于其他MCP客户端

使用相同的命令和参数模式。服务器通过stdio进行通信,并与任何兼容MCP的客户端协同工作。

重要:替换 /absolute/path/to/mcp_for_gap/mcp_server.py 使用克隆目录的实际绝对路径。

用法

运行服务器

只需运行服务器(它将自动加载所有包):

python3 mcp_server.py

服务器将:

  • 从中的所有JSON文件加载工具 mcp_for_gap/files/packages
  • 创建GAP会话
  • 启动MCP服务器监听stdio

与MCP客户端一起使用

配置后,这些工具将在您的MCP客户端中可用。工具名称以包缩写作为前缀,以避免冲突。前缀由包名称中的大写字母组成:

  • CAP模块演示文稿MPFCAP_ 前缀
  • 线性代数ForCAPLAFCAP_ 前缀
  • CAPCAP_ 前缀

工具名称示例:

  • 呼叫 GAP_EvalCode 执行任意GAP代码
  • 呼叫 MPFCAP_FreeLeftPresentation 创建自由左演示文稿
  • 呼叫 MPFCAP_AsLeftPresentation 将矩阵转换为左视图
  • 呼叫 LAFCAP_Dimension 求向量空间对象的维数

Claude Desktop中的示例用法:

Use the GAP_EvalCode tool to compute the symmetric group S4:
code: "SymmetricGroup(4);"

文件结构

  • mcp_server.py -加载所有包并共享一个GAP会话的MCP服务器
  • extract_tools.py -从GAP包文档中提取工具定义
  • gapwrapper.py -GAP进程的Python包装器
  • files/config.yml -包和工具过滤的YAML配置。
  • files/GAP.json -Json文件来运行任意GAP代码。
  • files/packages/ -用户提取的JSON工具定义

运作原理

  1. 工具提取: extract_tools.py 解析GAP包XML文档并提取函数签名、描述和参数类型。
  2. 工具筛选:每个包都可以有自定义排除规则来过滤内部或实用程序函数。
  3. 统一服务器: mcp_server.py 创建一个MCP服务器,从中指定的所有包中加载工具 mcp_for_gap/files/config.yml,在它们前面加上包缩写(由包名称中的大写字母组成),以避免命名冲突。
  4. 共享GAP会话:所有工具都使用相同的GAP流程实例,使其高效,并允许在函数调用之间共享状态。
  5. GAP执行:当调用工具时,服务器使用原始函数名构造GAP命令,并通过共享 gapwrapper,将结果返回给客户端。

发展

添加新包

  1. 将包添加到 mcp_for_gap/files/config.yml:
   - name: YourPackage
     tools:
       - all
     exclude_tools_with_subwords:
       - InternalFunction
  1. 运行提取:
   python3 extract_tools.py
  1. 重新启动MCP客户端-新工具将自动加载

直接测试GAP集成:

from gapwrapper import GAP
gap = GAP()
print(gap("SymmetricGroup(4);"))

测试工具加载:

from mcp_server import load_all_tools
tools = load_all_tools()
print(f"Loaded {len(tools)} tools")

许可证

国际学生中心

贡献

欢迎投稿!请随时提交拉取请求或未决问题。

目录标签

目录标签

PythonClaude数学计算GAP工具集成本地部署MCP服务器动态工具加载算法调用

支持客户端

Claude DesktopClaudeCline

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

session

工具数量(toolCount,工具数)

4

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiosession部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP