这是一个增强Claude AI功能的记忆型MCP服务器,通过为Infrastructure-as-Code (IaC)组件提供持久存储,实现版本跟踪和关系映射,尤其专注于Terraform和Ansible资源。
本项目是一个个人项目,用于测试AI能力,前提是使用该技术的人(我)缺乏相关专业知识。由于成本过高,不打算进一步开发或维护该项目。
IaC记忆MCP服务器通过以下方式解决维护准确、版本感知的IaC组件上下文的问题:
# 安装依赖
uv sync
# 运行测试
uv run pytest
# 使用MCP Inspector进行调试
npx @modelcontextprotocol/inspector uv run iac-memory-mcp-server
服务器实现了一个复杂的资源管理系统,采用层次结构化的URI:
resources://<平台>/<类别>/<名称>
支持的平台:
示例URI:
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: 提供程序名称(必需)version: 版本号(可选,默认为最新版本)collection_name: 集合名称(必需)version: 版本号(可选,默认为最新版本)设置以下环境变量以配置服务器:
# 数据库URL,支持SQLite、MySQL、PostgreSQL等
export DATABASE_URL="sqlite:////path/to/database.db"
# 默认版本号(可选)
export DEFAULT_VERSION="1.0.0"
# 日志级别(可选:debug, info, warning, error, critical)
export LOG_LEVEL="info"
在config.json中添加以下内容,以配置MCP服务器:
"mcpServers": {
"iac-memory": {
"command": "uv",
"args": [
"--directory",
"/path/to/iac-memory-mcp-server",
"run",
"iac-memory-mcp-server"
],
"env": {
"DATABASE_URL": "sqlite:////home/user/iac.db"
}
}
}
在config.json中添加以下内容,以配置MCP服务器:
"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/user/iac.db"
}
}
}
该项目采用MIT许可证,详情请参阅LICENSE文件。
⚠️ 重要提示
这是一个个人项目,用于测试AI能力,前提是使用该技术的人(我)缺乏相关专业知识。由于成本过高,不打算进一步开发或维护该项目。