local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Enables interaction with Ansible collections and modules, supporting operations like retrieving collection information, listing modules, checking version compatibility, and adding or updating collection and module definitions with schema validation.
Uses SQLite as the persistent storage backend for Infrastructure-as-Code components, allowing configuration through the DATABASE_URL environment variable.
Provides tools for managing Terraform providers and resources, including retrieving provider information, listing resources, checking version compatibility, and adding or updating provider and resource definitions with schema validation.
IaC内存MCP服务器
模型上下文协议 (MCP) 服务器通过为基础设施即代码 (IaC) 组件提供持久内存存储来增强 Claude AI 的功能,重点关注 Terraform 和 Ansible 资源的版本跟踪和关系映射。
[!笔记]
这是一个个人项目,旨在确定在使用者(我)缺乏专业知识(例如缺乏 Python 知识)的情况下,AI 的能力状态。由于成本过高,我不打算继续开发或维护这个项目。
概述
IaC 内存 MCP 服务器通过提供以下功能解决了维护 IaC 组件的准确、版本感知上下文的挑战:
- IaC 组件的持久存储和版本跟踪
- 基于 URI 访问的分层资源组织
- 组件间全面的关系映射
- 特定版本的文档管理
- 模式验证和时间元数据跟踪
- 自动化关系分析和洞察
核心组件
资源管理
该服务器实现了具有分层 URI 的复杂资源管理系统:
资源 URI 结构
支持的平台:
- 地形改造
- ansible
- iac(针对一般基础设施实体)
示例 URI:
资源模板
服务器提供标准化访问模式的动态资源模板:
- Terraform 提供商信息:
resources://terraform/providers/{provider_name}
- 资源类型详细信息:
resources://terraform/resources/{provider_name}/{resource_type}
- Ansible 收集数据:
resources://ansible/collections/{collection_name}
- 模块信息:
resources://ansible/modules/{collection_name}/{module_name}
提示
服务器针对 IaC 组件发现和分析实现了四个专门的提示:
搜索资源
- 目的:搜索 IaC 资源
- 参数:
provider
:提供者名称resource_type
:资源类型
- 返回:有关给定提供者的特定资源的信息
分析实体
- 目的:分析实体及其关系
- 参数:
entity_id
:实体IDinclude_relationships
:包含关系
- 返回:详细的实体分析,包括名称、类型和观察结果
terraform_provider
- 目的:获取有关 Terraform 提供商的信息
- 参数:
provider_name
:Terraform 提供商的名称(必需)version
:要查询的特定版本(可选)
- 返回:指定版本的详细提供商信息
ansible_模块
- 目的:获取有关 Ansible 模块的信息
- 参数:
collection_name
:Ansible 集合的名称(必需)module_name
:模块名称(必需)version
:要查询的特定版本(可选)
- 返回:指定版本的详细模块信息
工具
该服务器实现了用于 IaC 组件管理的综合工具:
Terraform 工具
get_terraform_provider_info
:检索提供商的详细信息,包括版本和资源list_provider_resources
:列出特定提供商可用的所有资源get_terraform_resource_info
:获取有关特定资源类型的详细信息add_terraform_provider
:注册具有版本控制的新提供程序add_terraform_resource
:添加带有模式的资源定义update_provider_version
:使用新文档更新提供程序版本
Ansible 工具
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
文件:
与 Claude Desktop 集成
开发设置
生产设置
发展
本地开发
执照
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
You must be authenticated.
Tools
通过为基础设施即代码组件提供持久内存存储来增强 Claude AI,支持 Terraform 和 Ansible 资源的版本跟踪和关系映射。