IAC Memory MCP Server

IAC Memory MCP Server

一个定制的内存 MCP 服务器,它充当基础设施即代码信息的缓存,允许用户使用自定义 URI 方案和简单的资源处理来存储、总结和管理笔记。

Category
访问服务器

Tools

get_terraform_provider_info

Retrieve comprehensive information about a Terraform provider

list_terraform_providers

List all cached Terraform providers with basic metadata

get_provider_version_history

Retrieve version history for a specific Terraform provider

get_terraform_resource_info

Retrieve comprehensive information about a Terraform resource including schema and documentation

list_provider_resources

List all resources associated with a specific Terraform provider

get_ansible_collection_info

Retrieve comprehensive information about an Ansible collection

list_ansible_collections

List all cached Ansible collections with basic metadata

get_collection_version_history

Retrieve version history for a specific Ansible collection

get_ansible_module_info

Retrieve comprehensive information about an Ansible module including schema and documentation

get_resource_version_compatibility

Check resource compatibility across provider versions

add_terraform_provider

Add a new Terraform provider to the memory store with version and documentation information

update_provider_version

Update an existing Terraform provider's version information and documentation links

add_terraform_resource

Add a new Terraform resource definition with its schema and version information

update_resource_schema

Update an existing Terraform resource's schema and related information

add_ansible_collection

Add a new Ansible collection to the memory store with version and documentation information

update_collection_version

Update an existing Ansible collection's version information and documentation links

add_ansible_module

Add a new Ansible module definition with its schema and version information

update_module_version

Update an existing Ansible module's schema and related information

get_module_version_compatibility

Check module compatibility across collection versions

create_entity

Create a new entity in the knowledge graph with optional initial observations

update_entity

Update an existing entity's properties and add new observations

delete_entity

Remove an entity and its relationships from the knowledge graph

view_relationships

Retrieve all relationships and observations for a specific entity

README

IaC 内存 MCP 服务器

一个模型上下文协议 (MCP) 服务器,通过为基础设施即代码 (IaC) 组件提供持久性内存存储来增强 Claude AI 的能力,重点在于 Terraform 和 Ansible 资源的版本跟踪和关系映射。

[!NOTE] 这是一个个人项目,旨在确定 AI 的能力状态,如果使用它的人(我) 没有主题专业知识(缺乏 Python 知识)。由于它变得相当昂贵, 我不打算进一步开发或维护这个项目。

概述

IaC 内存 MCP 服务器通过提供以下功能来解决维护 IaC 组件的准确、版本感知上下文的挑战:

  • IaC 组件的持久性存储和版本跟踪
  • 具有基于 URI 访问的层次结构资源组织
  • 组件之间的全面关系映射
  • 版本特定的文档管理
  • 模式验证和时间元数据跟踪
  • 自动关系分析和见解

核心组件

资源管理

服务器实现了一个具有分层 URI 的复杂资源管理系统:

资源 URI 结构

resources://<平台>/<类别>/<名称>

支持的平台:

  • terraform
  • ansible
  • iac (用于通用基础设施实体)

示例 URI:

resources://terraform/providers/aws
resources://terraform/resources/aws/s3_bucket
resources://ansible/collections/community.aws
resources://ansible/modules/community.aws/s3_bucket

资源模板

服务器提供动态资源模板,用于标准化访问模式:

  • 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 组件发现和分析:

search_resources

  • 目的:搜索 IaC 资源
  • 参数:
    • provider: 提供程序名称
    • resource_type: 资源类型
  • 返回:有关给定提供程序的特定资源的信息

analyze_entity

  • 目的:分析实体及其关系
  • 参数:
    • entity_id: 实体 ID
    • include_relationships: 包括关系
  • 返回:详细的实体分析,包括名称、类型和观察结果

terraform_provider

  • 目的:获取有关 Terraform 提供程序的信息
  • 参数:
    • provider_name: Terraform 提供程序的名称(必需)
    • version: 要查询的特定版本(可选)
  • 返回:指定版本的详细提供程序信息

ansible_module

  • 目的:获取有关 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 文件:

DATABASE_URL=sqlite:////path/to/db.sqlite
MCP_DEBUG=1
MCP_TEST_MODE=1

与 Claude Desktop 集成

开发设置

"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 文件。

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选