Token导航 LogoToken导航TokenDH.com
Openacr MCP logo
AI代理stdio官方级别未说明来源级核验

Openacr MCP

MCP Server

OpenACR MCP Server是一个封装OpenACR CLI工具的模型上下文协议服务器,允许AI代理查询模式、编写新类型/字段/枚举、生成C++代码并发现生成的API。

工具数

45

提示词数

0

GitHub Stars

0

资源数

0
AI代理PythonClaudeClaude

安装说明

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

作者 / 组织

aaslyan

提供方

aaslyan

最后核验

2026/5/17 20:22

运行时

Python

快速接入

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

命令预览

python -m venv venv

详细介绍

OpenACR MCP服务器

MCP(模型上下文协议)服务器,用于封装 OpenACR CLI工具,让AI代理查询模式,编写新类型/字段/枚举,生成C++代码,并发现生成的API。45个工具,165个测试。

先决条件

  • Python 3.11+
  • OpenACR 建造和安装(与 bin/acr, bin/acr_ed, bin/amc, bin/abt)

设置

git clone https://github.com/aaslyan/openacr-mcp.git
cd openacr-mcp
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"

配置Claude代码

复制示例配置并编辑路径:

cp .mcp.json.example .mcp.json

编辑 .mcp.json 指向您的本地路径:

{
  "mcpServers": {
    "openacr": {
      "command": "/path/to/openacr-mcp/venv/bin/python",
      "args": ["-m", "openacr_mcp", "--openacr-dir", "/path/to/openacr"],
      "cwd": "/path/to/openacr-mcp"
    }
  }
}

--openacr-dir 标志默认为 ~/openacr 如果省略。

独立运行

python -m openacr_mcp --openacr-dir /path/to/openacr

运行测试

PYTHONPATH=. pytest -v

测试套件包括单元测试(始终运行)和集成测试(需要在以下位置安装OpenACR ~/openacr,否则跳过)。

工具

模式查询与探索(17个工具)

工具说明
list_namespaces列出所有命名空间
get_namespace_tree命名空间的完整树视图(ctypes、字段、fconsts、ssimfiles)
list_ctypes列出命名空间中的所有ctypes(结构体)
get_ctype通过交叉引用获取ctype的完整细节
list_fields列出ctype的所有字段
list_fconsts列出命名空间或ctype的枚举常量
list_ssimfiles列出命名空间中的数据表
list_finputs列出exe目标的运行时表输入
query运行原始acr查询模式
search按文本搜索ctypes、字段和注释
get_downstream向下遍历FK依赖关系(acr-ndown)
get_upstream向上遍历FK参考(acr-nup)
find_unused查找未引用的记录进行清理(acr-未使用)
get_record_meta获取记录的模式元数据(acr-meta)
select_fields带列投影的查询(acr-field)
get_input_tables列出目标读取的所有ssimfiles(acr_in)
visualize_ctypeASCII艺术类型结构图(amc_vis)

模式创作(21个工具)

工具说明
create_target创建新的命名空间(ssimdb、exe、lib、protocol)
create_ctype创建新的ctype(自动为ssimdb创建ssimfile+cfmt)
create_field向ctype添加字段(支持xref、hashfld、sortfld、cascdel之前)
create_fconst向字段添加枚举常量(自动从ctype派生pkey)
create_enum在一次调用中创建包含所有常量的枚举类型
create_finput为exe目标添加运行时表加载
create_gstatic添加编译时静态表(烘焙成二进制)
create_foutput为exe目标声明输出表
create_substr_field为复合密钥提取创建子字符串字段
create_bitfield创建打包成整数的位字段
create_cppfunc创建计算字段(C++表达式,不存储)
create_srcfile创建向生成目标注册的源文件
create_unittest为单元测试功能搭建脚手架
create_citest构建CI集成测试
update_record更新记录(如果存在则更新,如果不存在则插入)
delete_record按模式删除ssim记录
delete_ctype删除带有完整级联的ctype(字段、ssimfile、cfmt)
delete_field使用级联(fconsts、外部参照)删除字段
delete_target使用级联删除整个命名空间
rename_record重命名记录,传播引用
validate_schema运行引用完整性检查(acr-check)

代码生成和发现(5个工具)

工具说明
run_amc从模式生成C++代码
run_abt构建/编译目标
list_generated_headers列出为命名空间生成的.h文件
get_generated_code读取生成的头文件
get_functions从生成的标头中提取结构、枚举和函数签名

帮助和示例(2个工具)

工具说明
get_workflow_guide12个常见工作流的分步示例
get_usage_examples为命名空间的类型生成C++使用示例

什么 create_ctype 自动创建

对于ssimdb命名空间, create_ctype 自动插入:

  • dmmeta.ssimfile --支持数据存储的ssimfile
  • dmmeta.cfmt 随着 read:Y print:Y --生成 ReadStrptrMaybe/Print finput将数据加载到exe目标中所需的函数

无需手动接线。

典型工作流程

1. create_target("mydb", "ssimdb")        -- create namespace
2. create_ctype("mydb", "Status")         -- create enum type
3. create_fconst("mydb.Status", "active")          -- add enum values (auto-derives pkey)
4. create_ctype("mydb", "Record")         -- create struct
5. create_field("mydb.Record", "status", "mydb.Status", "Pkey")  -- add FK field
6. run_amc()                              -- generate C++
7. get_functions("mydb")                  -- discover generated API
8. get_usage_examples("mydb")            -- C++ code examples for each type

建筑

openacr-mcp/
├── openacr_mcp/
│   ├── __init__.py
│   ├── __main__.py
│   ├── server.py          # MCP server — 45 tools + embedded workflow knowledge
│   ├── acr_client.py      # Subprocess wrapper for acr/acr_ed/amc/abt/acr_in/amc_vis
│   └── header_parser.py   # C++ header parser for generated code discovery
├── tests/
│   ├── test_server.py     # 128 tests (unit + integration)
│   ├── test_acr_client.py # 20 tests
│   └── test_header_parser.py # 17 tests
├── .mcp.json.example      # Template MCP config (copy to .mcp.json)
└── pyproject.toml

目录标签

目录标签

AI代理PythonClaude本地部署模型上下文协议C++代码生成模式查询API发现

支持客户端

Claude

接入字段

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

stdio

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

none

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

45

资源数量(resourceCount,资源数)

0

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

0

权限和风险

stdionone部署方式未说明

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

安装前确认

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

来源信息

继续浏览同类 MCP