一个模型上下文协议(MCP)服务器,通过提供持久化的内存存储来增强Claude AI的能力,特别关注Terraform和Ansible资源的版本跟踪和关系映射。
[!NOTE] 这是一个个人项目,旨在确定如果使用者不具备相关专业知识(缺乏Python知识)时AI的能力状态。由于成本变得非常高昂,我无意进一步开发或维护这个项目。
IaC Memory MCP服务器通过以下方式解决了维护准确且具有版本意识的IaC组件上下文的挑战:
服务器实现了一个复杂的资源管理系统,采用分层URIs:
resources://<平台>/<类别>/<名称>
支持的平台:
示例URIs:
resources://terraform/providers/aws
resources://terraform/resources/aws/s3_bucket
resources://ansible/collections/community.aws
resources://ansible/modules/community.aws/s3_bucket
服务器提供了动态资源模板以标准化访问模式:
resources://terraform/providers/{provider_name}resources://terraform/resources/{provider_name}/{resource_type}resources://ansible/collections/{collection_name}resources://ansible/modules/{collection_name}/{module_name}服务器实现了四个专门的提示用于IaC组件的发现和分析:
provider:提供商名称resource_type:资源类型entity_id:实体IDinclude_relationships:是否包含关系provider_name:Terraform提供商名称(必需)version:要查询的具体版本(可选)collection_name:Ansible集合名称(必需)module_name:模块名称(必需)version:要查询的具体版本(可选)服务器实现了全面的工具集用于IaC组件管理:
get_terraform_provider_info:检索详细的提供商信息,包括版本和资源list_provider_resources:列出特定提供商的所有可用资源get_terraform_resource_info:获取特定资源类型的详细信息add_terraform_provider:注册新的提供商并进行版本控制add_terraform_resource:添加带有架构的资源定义update_provider_version:更新提供商版本并附带新文档get_ansible_collection_info:获取详细的Ansible集合信息list_ansible_collections:列出所有可用的Ansible集合get_collection_version_history:查看集合的版本历史get_ansible_module_info:获取特定模块的详细信息list_collection_modules:列出集合中的所有模块get_module_version_compatibility:检查模块的版本兼容性add_ansible_collection:注册新的Ansible集合add_ansible_module:添加新的模块并进行验证和文档编写create_entity:创建新的基础设施实体update_entity:修改现有实体配置delete_entity:删除实体并清理关系view_relationships:分析实体依赖关系和关系服务器支持通过环境变量进行配置:
DATABASE_URL:SQLite数据库位置MCP_DEBUG:启用调试日志记录MCP_TEST_MODE:启用测试模式以重置数据库开发时创建一个.env文件:
DATABASE_URL=sqlite:////path/to/db.sqlite
MCP_DEBUG=1
MCP_TEST_MODE=1
"mcpServers": {
"iac-memory": {
"command": "uv",
"args": [
"--directory",
"/path/to/iac-memory-mcp-server",
"run",
"iac-memory-mcp-server"
],
"env": {
"DATABASE_URL": "sqlite:////home/herman/iac.db"
}
}
}
"mcpServers": {
"iac-memory": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/AgentWong/iac-memory-mcp-server.git",
"python",
"-m",
"iac_memory_mcp_server"
],
"env": {
"DATABASE_URL": "sqlite:////home/herman/iac.db"
}
}
}
# 安装依赖
uv sync
# 运行测试
uv run pytest
# 使用MCP Inspector运行开发服务器
npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server
本项目根据MIT许可证发布 - 查看LICENSE文件了解详情。