[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-hashicorp--terraform-mcp-server":3,"tool-hashicorp--terraform-mcp-server":64},[4,17,27,35,48,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,43,44,45,15,46,26,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":10,"last_commit_at":54,"category_tags":55,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,46],{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},2181,"OpenHands","OpenHands\u002FOpenHands","OpenHands 是一个专注于 AI 驱动开发的开源平台，旨在让智能体（Agent）像人类开发者一样理解、编写和调试代码。它解决了传统编程中重复性劳动多、环境配置复杂以及人机协作效率低等痛点，通过自动化流程显著提升开发速度。\n\n无论是希望提升编码效率的软件工程师、探索智能体技术的研究人员，还是需要快速原型验证的技术团队，都能从中受益。OpenHands 提供了灵活多样的使用方式：既可以通过命令行（CLI）或本地图形界面在个人电脑上轻松上手，体验类似 Devin 的流畅交互；也能利用其强大的 Python SDK 自定义智能体逻辑，甚至在云端大规模部署上千个智能体并行工作。\n\n其核心技术亮点在于模块化的软件智能体 SDK，这不仅构成了平台的引擎，还支持高度可组合的开发模式。此外，OpenHands 在 SWE-bench 基准测试中取得了 77.6% 的优异成绩，证明了其解决真实世界软件工程问题的能力。平台还具备完善的企业级功能，支持与 Slack、Jira 等工具集成，并提供细粒度的权限管理，适合从个人开发者到大型企业的各类用户场景。",70626,"2026-04-05T22:51:36",[26,15,13,45],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":80,"owner_email":81,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":84,"stars":105,"forks":106,"last_commit_at":107,"license":108,"difficulty_score":10,"env_os":109,"env_gpu":110,"env_ram":110,"env_deps":111,"category_tags":115,"github_topics":80,"view_count":23,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":116,"updated_at":117,"faqs":118,"releases":153},2596,"hashicorp\u002Fterraform-mcp-server","terraform-mcp-server","The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.","terraform-mcp-server 是一款基于模型上下文协议（MCP）构建的服务工具，旨在将人工智能助手与 Terraform 基础设施即代码（IaC）生态无缝连接。它让 AI 能够直接读取公共 Terraform 注册表中的提供者、模块和策略信息，并深度集成 HCP Terraform 及 Terraform Enterprise，实现工作空间的创建、变量管理及运行监控等自动化操作。\n\n这一工具主要解决了传统 IaC 开发中人工查阅文档繁琐、环境配置重复以及自动化程度不足的痛点。通过赋予 AI 直接操控基础设施的能力，开发者可以更高效地编写、验证和管理云资源，大幅缩短从代码到部署的周期。\n\nterraform-mcp-server 特别适合 DevOps 工程师、云平台开发者以及希望利用 AI 辅助基础设施管理的团队使用。其技术亮点包括支持 Stdio 和 StreamableHTTP 双重传输模式，便于灵活部署；内置 OpenTelemetry 指标监控，可实时追踪工具调用的延迟与失败率；同时提供细粒度的安全控制，如跨域访问限制和 TLS 配置，确保本地或受控环境下的数据安全","terraform-mcp-server 是一款基于模型上下文协议（MCP）构建的服务工具，旨在将人工智能助手与 Terraform 基础设施即代码（IaC）生态无缝连接。它让 AI 能够直接读取公共 Terraform 注册表中的提供者、模块和策略信息，并深度集成 HCP Terraform 及 Terraform Enterprise，实现工作空间的创建、变量管理及运行监控等自动化操作。\n\n这一工具主要解决了传统 IaC 开发中人工查阅文档繁琐、环境配置重复以及自动化程度不足的痛点。通过赋予 AI 直接操控基础设施的能力，开发者可以更高效地编写、验证和管理云资源，大幅缩短从代码到部署的周期。\n\nterraform-mcp-server 特别适合 DevOps 工程师、云平台开发者以及希望利用 AI 辅助基础设施管理的团队使用。其技术亮点包括支持 Stdio 和 StreamableHTTP 双重传输模式，便于灵活部署；内置 OpenTelemetry 指标监控，可实时追踪工具调用的延迟与失败率；同时提供细粒度的安全控制，如跨域访问限制和 TLS 配置，确保本地或受控环境下的数据安全。需要注意的是，目前该服务主要面向本地受信任环境，使用时需严格配置访问权限以防范潜在风险。","# \u003Cimg src=\"public\u002Fimages\u002FTerraform-LogoMark_onDark.svg\" width=\"30\" align=\"left\" style=\"margin-right: 12px;\"\u002F> Terraform MCP Server\n\nThe Terraform MCP Server is a [Model Context Protocol (MCP)](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction)\nserver that provides seamless integration with Terraform Registry APIs, enabling advanced\nautomation and interaction capabilities for Infrastructure as Code (IaC) development.\n\n## Features\n\n- **Dual Transport Support**: Both Stdio and StreamableHTTP transports with configurable endpoints\n- **Terraform Registry Integration**: Direct integration with public Terraform Registry APIs for providers, modules, and policies\n- **HCP Terraform & Terraform Enterprise Support**: Full workspace management, organization\u002Fproject listing, and private registry access\n- **Workspace Operations**: Create, update, delete workspaces with support for variables, tags, and run management\n- **OTel metrics for monitoring tool usage**: Integration with open telemetry meters to track tool-call volume, latency and failures in Streamable HTTP mode\n\n> **Security Note:** At this stage, the MCP server is intended for local use only. If using the StreamableHTTP transport, always configure the MCP_ALLOWED_ORIGINS environment variable to restrict access to trusted origins only. This helps prevent DNS rebinding attacks and other cross-origin vulnerabilities.\n\n> **Security Note:** Depending on the query, the MCP server may expose certain Terraform data to the MCP client and LLM. Do not use the MCP server with untrusted MCP clients or LLMs.\n\n> **Legal Note:** Your use of a third party MCP Client\u002FLLM is subject solely to the terms of use for such MCP\u002FLLM, and IBM is not responsible for the performance of such third party tools. IBM expressly disclaims any and all warranties and liability for third party MCP Clients\u002FLLMs, and may not be able to provide support to resolve issues which are caused by the third party tools.\n\n> **Caution:**  The outputs and recommendations provided by the MCP server are generated dynamically and may vary based on the query, model, and the connected MCP client. Users should thoroughly review all outputs\u002Frecommendations to ensure they align with their organization’s security best practices, cost-efficiency goals, and compliance requirements before implementation.\n\n## Prerequisites\n\n1. Ensure [Docker](https:\u002F\u002Fwww.docker.com\u002F) is installed and running to use the server in a containerized environment.\n1. Install an AI assistant that supports the Model Context Protocol (MCP).\n\n## Command Line Options\n\n**Environment Variables:**\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `TFE_ADDRESS` | HCP Terraform or TFE address | `\"https:\u002F\u002Fapp.terraform.io\"` |\n| `TFE_TOKEN` | Terraform Enterprise API token | `\"\"` (empty) |\n| `TFE_SKIP_TLS_VERIFY` | Skip HCP Terraform or Terraform Enterprise TLS verification | `false` |\n| `LOG_LEVEL` | Logging level: `trace`, `debug`, `info`, `warn`, `error`, `fatal`, `panic` (overrides `--log-level` flag) | `info` |\n| `LOG_FORMAT` | Logging format: `text` or `json` (overrides `--log-format` flag)| `text` |\n| `TRANSPORT_MODE` | Set to `streamable-http` to enable HTTP transport (legacy `http` value still supported) | `stdio` |\n| `TRANSPORT_HOST` | Host to bind the HTTP server | `127.0.0.1` |\n| `TRANSPORT_PORT` | HTTP server port | `8080` |\n| `MCP_ENDPOINT` | HTTP server endpoint path | `\u002Fmcp` |\n| `MCP_KEEP_ALIVE` | Keep-alive interval for SSE connections (e.g., 30s, 1m). 0 to disable | `0` |\n| `MCP_SESSION_MODE` | Session mode: `stateful` or `stateless` | `stateful` |\n| `MCP_ALLOWED_ORIGINS` | Comma-separated list of allowed origins for CORS | `\"\"` (empty) |\n| `MCP_CORS_MODE` | CORS mode: `strict`, `development`, or `disabled` | `strict` |\n| `MCP_TLS_CERT_FILE` | Path to TLS cert file, required for non-localhost deployment (e.g. `\u002Fpath\u002Fto\u002Fcert.pem`) | `\"\"` (empty) |\n| `MCP_TLS_KEY_FILE` |  Path to TLS key file, required for non-localhost deployment (e.g. `\u002Fpath\u002Fto\u002Fkey.pem`)| `\"\"` (empty) |\n| `MCP_RATE_LIMIT_GLOBAL` | Global rate limit (format: `rps:burst`) | `10:20` |\n| `MCP_RATE_LIMIT_SESSION` | Per-session rate limit (format: `rps:burst`) | `5:10` |\n| `ENABLE_TF_OPERATIONS` | Enable tools that require explicit approval | `false` |\n| `OTEL_METRICS_ENABLED` | Enable tools metrics using otel | `false` |\n| `OTEL_METRICS_SERVICE_VERSION` | Version of the terraform-mcp-server sending metrics, which is used to set metric attributes. It also helps track metrics across different deployments | `latest` |\n| `OTEL_METRICS_SERVICE_NAME` | Identifies the source of the metrics (e.g., \"terraform-mcp-server\") | `terraform-mcp-server` |\n| `OTEL_METRICS_EXPORT_INTERVAL` | Controls the frequency of metric flushes | `2` |\n| `OTEL_METRICS_ENDPOINT` | URL of your OTel Collector or backend | `localhost:4318` |\n\n\n```bash\n# Stdio mode\nterraform-mcp-server stdio [--log-file \u002Fpath\u002Fto\u002Flog] [--log-level info] [--log-format text] [--toolsets \u003Ctoolsets>] [--tools \u003Ctools>]\n\n# StreamableHTTP mode\nterraform-mcp-server streamable-http [--transport-port 8080] [--transport-host 127.0.0.1] [--mcp-endpoint \u002Fmcp] [--log-file \u002Fpath\u002Fto\u002Flog] [--log-level info] [--log-format text] [--toolsets \u003Ctoolsets>] [--tools \u003Ctools>]\n```\n\n## Instructions\n\nDefault instructions for the MCP server is located in `cmd\u002Fterraform-mcp-server\u002Finstructions.md`, if those do not seem appropriate for your organization's Terraform practices or if the MCP server is producing inaccurate responses, please replace them with your own instructions and rebuild the container or binary. An example of such instruction is located in `instructions\u002Fexample-mcp-instructions.md`\n\n`AGENTS.md` essentially behaves as READMEs for coding agents: a dedicated, predictable place to provide the context and instructions to help AI coding agents work on your project. One `AGENTS.md` file works with different coding agents. An example of such instruction is located in `instructions\u002Fexample-AGENTS.md`, in order to use it commit a file name `AGENTS.md` to the directory where your Terraform configurations reside.\n\n## Installation\n\n### Usage with Visual Studio Code\n\nAdd the following JSON block to your User Settings (JSON) file in VS Code. You can do this by pressing `Ctrl + Shift + P` and typing `Preferences: Open User Settings (JSON)`.\n\nMore about using MCP server tools in VS Code's [agent mode documentation](https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fcopilot\u002Fchat\u002Fmcp-servers).\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Version 0.3.0+ or greater\u003C\u002Fth>\u003Cth>Version 0.2.3 or lower\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"-e\", \"TFE_TOKEN=${input:tfe_token}\",\n          \"-e\", \"TFE_ADDRESS=${input:tfe_address}\",\n          \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n        ]\n      }\n    },\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"tfe_token\",\n        \"description\": \"Terraform API Token\",\n        \"password\": true\n      },\n      {\n        \"type\": \"promptString\",\n        \"id\": \"tfe_address\",\n        \"description\": \"Terraform Address\",\n        \"password\": false\n      }\n    ]\n  }\n}\n```\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n        ]\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\nOptionally, you can add a similar example (i.e. without the mcp key) to a file called `.vscode\u002Fmcp.json` in your workspace. This will allow you to share the configuration with others.\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Version 0.3.0+ or greater\u003C\u002Fth>\u003Cth>Version 0.2.3 or lower\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_TOKEN=${input:tfe_token}\",\n        \"-e\", \"TFE_ADDRESS=${input:tfe_address}\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  },\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"tfe_token\",\n      \"description\": \"Terraform API Token\",\n      \"password\": true\n    },\n    {\n      \"type\": \"promptString\",\n      \"id\": \"tfe_address\",\n      \"description\": \"Terraform Address\",\n      \"password\": false\n    }\n  ]\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ]\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n[\u003Cimg alt=\"Install in VS Code (docker)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-VS_Code?style=flat-square&label=Install%20Terraform%20MCP&color=0098FF\">](https:\u002F\u002Fvscode.dev\u002Fredirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22terraform%22%2C%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22hashicorp%2Fterraform-mcp-server%22%5D%7D)\n[\u003Cimg alt=\"Install in VS Code Insiders (docker)\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Terraform%20MCP&color=24bfa5\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22terraform%22%2C%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22hashicorp%2Fterraform-mcp-server%22%5D%7D)\n\n### Usage with Cursor\n\nAdd this to your Cursor config (`~\u002F.cursor\u002Fmcp.json`) or via Settings → Cursor Settings → MCP:\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Version 0.3.0+ or greater\u003C\u002Fth>\u003Cth>Version 0.2.3 or lower\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ]\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ca href=\"cursor:\u002F\u002Fanysphere.cursor-deeplink\u002Fmcp\u002Finstall?name=terraform&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItaSIsIi0tcm0iLCJoYXNoaWNvcnAvdGVycmFmb3JtLW1jcC1zZXJ2ZXIiXX0%3D\">\n  \u003Cimg alt=\"Add terraform MCP server to Cursor\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhashicorp_terraform-mcp-server_readme_d876e400cba5.png\" height=\"32\" \u002F>\n\u003C\u002Fa>\n\n### Usage with Claude Desktop \u002F Amazon Q Developer \u002F Amazon Q CLI\n\nMore about using MCP server tools in Claude Desktop [user documentation](https:\u002F\u002Fmodelcontextprotocol.io\u002Fquickstart\u002Fuser). Read more about using MCP server in Amazon Q from the [documentation](https:\u002F\u002Fdocs.aws.amazon.com\u002Famazonq\u002Flatest\u002Fqdeveloper-ug\u002Fqdev-mcp.html).\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Version 0.3.0+ or greater\u003C\u002Fth>\u003Cth>Version 0.2.3 or lower\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ]\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### Usage with Claude Code\n\nMore about using and adding MCP server tools in Claude Code [user documentation](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fmcp)\n\n- Local (`stdio`) Transport\n\n```sh\nclaude mcp add terraform -s user -t stdio -- docker run -i --rm hashicorp\u002Fterraform-mcp-server\n```\n\n- Remote (`streamable-http`) Transport\n\n```sh\n# Run server (example)\ndocker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 hashicorp\u002Fterraform-mcp-server\n\n# Add to Claude Code\nclaude mcp add --transport http terraform http:\u002F\u002Flocalhost:8080\u002Fmcp\n```\n\n### Usage with Gemini extensions\n\nFor security, avoid hardcoding your credentials, create or update `~\u002F.gemini\u002F.env` (where ~ is your home or project directory) for storing HCP Terraform or Terraform Enterprise credentials\n\n```\n# ~\u002F.gemini\u002F.env\nTFE_ADDRESS=your_tfe_address_here\nTFE_TOKEN=your_tfe_token_here\n```\n\nInstall the extension & run Gemini\n\n```\ngemini extensions install https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\ngemini\n```\n\n### Usage with Bob IDE \u002F Shell\n\nMore about using and adding MCP servers tools in Bob IDE or Shell [Using MCP in Bob](https:\u002F\u002Fbob.ibm.com\u002Fdocs\u002Fide\u002Fconfiguration\u002Fmcp\u002Fmcp-in-bob).\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Version 0.3.0+ or greater\u003C\u002Fth>\u003Cth>Version 0.2.3 or lower\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Install from source\n\nUse the latest release version:\n\n```console\ngo install github.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fcmd\u002Fterraform-mcp-server@latest\n```\n\nUse the main branch:\n\n```console\ngo install github.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fcmd\u002Fterraform-mcp-server@main\n```\n\n\u003Ctable>\n\u003Ctr>\u003Cth>Version 0.3.0+ or greater\u003C\u002Fth>\u003Cth>Version 0.2.3 or lower\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"type\": \"stdio\",\n        \"command\": \"\u002Fpath\u002Fto\u002Fterraform-mcp-server\",\n        \"env\": {\n          \"TFE_TOKEN\": \"\u003C\u003CTFE_TOKEN_HERE>>\"\n        },\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"type\": \"stdio\",\n        \"command\": \"\u002Fpath\u002Fto\u002Fterraform-mcp-server\"\n      }\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Building the Docker Image locally\n\nBefore using the server, you need to build the Docker image locally:\n\n1. Clone the repository:\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server.git\ncd terraform-mcp-server\n```\n\n2. Build the Docker image:\n```bash\nmake docker-build\n```\n\n3. This will create a local Docker image that you can use in the following configuration.\n\n```bash\n# Run in stdio mode\ndocker run -i --rm terraform-mcp-server:dev\n\n# Run in streamable-http mode\ndocker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 terraform-mcp-server:dev\n\n# Filter tools (optional)\ndocker run -i --rm terraform-mcp-server:dev --toolsets=registry,terraform\ndocker run -i --rm terraform-mcp-server:dev --tools=search_providers,get_provider_details\n```\n\n> **Note:** When running in Docker, you should set `TRANSPORT_HOST=0.0.0.0` to allow connections from outside the container.\n\n4. (Optional) Test connection in http mode\n\n```bash\n# Test the connection\ncurl http:\u002F\u002Flocalhost:8080\u002Fhealth\n```\n\n5. You can use it on your AI assistant as follow:\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"terraform-mcp-server:dev\"\n      ]\n    }\n  }\n}\n```\n\n## Available Tools\n\n[Check out available tools here :link:](https:\u002F\u002Fdeveloper.hashicorp.com\u002Fterraform\u002Fdocs\u002Ftools\u002Fmcp-server\u002Freference#available-tools)\n\n## Available Resources\n\n[Check out available resources here :link:](https:\u002F\u002Fdeveloper.hashicorp.com\u002Fterraform\u002Fdocs\u002Ftools\u002Fmcp-server\u002Freference#available-tools)\n\n### Tool Filtering\n\nControl which tools are available using `--toolsets` (groups) or `--tools` (individual):\n\n```bash\n# Enable tool groups (default: registry)\nterraform-mcp-server --toolsets=registry,terraform\n\n# Enable specific tools only\nterraform-mcp-server --tools=search_providers,get_provider_details,list_workspaces\n```\n\nAvailable toolsets: `registry`, `registry-private`, `terraform`, `all`, `default`. See `pkg\u002Ftoolsets\u002Fmapping.go` for individual tool names. Cannot use both flags together.\n\n## Transport Support\n\nThe Terraform MCP Server supports multiple transport protocols:\n\n### 1. Stdio Transport (Default)\nStandard input\u002Foutput communication using JSON-RPC messages. Ideal for local development and direct integration with MCP clients.\n\n### 2. StreamableHTTP Transport\nModern HTTP-based transport supporting both direct HTTP requests and Server-Sent Events (SSE) streams. This is the recommended transport for remote\u002Fdistributed setups.\n\n**Features:**\n- **Endpoint**: `http:\u002F\u002F{hostname}:8080\u002Fmcp`\n- **Health Check**: `http:\u002F\u002F{hostname}:8080\u002Fhealth`\n- **Environment Configuration**: Set `TRANSPORT_MODE=http` or `TRANSPORT_PORT=8080` to enable\n\n## Session Modes\n\nThe Terraform MCP Server supports two session modes when using the StreamableHTTP transport:\n\n- **Stateful Mode (Default)**: Maintains session state between requests, enabling context-aware operations.\n- **Stateless Mode**: Each request is processed independently without maintaining session state, which can be useful for high-availability deployments or when using load balancers.\n\nTo enable stateless mode, set the environment variable:\n```bash\nexport MCP_SESSION_MODE=stateless\n```\n## Troubleshooting\n\n### Corporate Proxy \u002F TLS Inspection (Zscaler, etc.)\n\nIf you're behind a corporate proxy that performs TLS inspection (like Zscaler Internet Access), you may see certificate errors:\n```\ntls: failed to verify certificate: x509: certificate signed by unknown authority\n```\n\n**Solution: Mount your corporate CA certificate into the container:**\n```bash\ndocker run -i --rm \\\n  -v \u002Fpath\u002Fto\u002Fcorporate-ca.pem:\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem \\\n  -e SSL_CERT_FILE=\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem \\\n  hashicorp\u002Fterraform-mcp-server:0.5.0\n```\n\nFor MCP client configurations:\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-v\", \"\u002Fpath\u002Fto\u002Fcorporate-ca.pem:\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem\",\n        \"-e\", \"SSL_CERT_FILE=\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem\",\n        \"-e\", \"TFE_TOKEN=\u003C>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n**Alternative: Run the binary directly**\n\nIf Docker is not permitted in your environment, you can install and run the server binary directly, which will use your system's certificate store:\n```bash\ngo install github.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fcmd\u002Fterraform-mcp-server@latest\nterraform-mcp-server stdio\n```\n## Development\n\n### Prerequisites\n- Go (check [go.mod](.\u002Fgo.mod) file for specific version)\n- Docker (optional, for container builds)\n\n### Available Make Commands\n\n| Command | Description |\n|---------|-------------|\n| `make build` | Build the binary |\n| `make test` | Run all tests |\n| `make test-e2e` | Run end-to-end tests |\n| `make docker-build` | Build Docker image |\n| `make run-http` | Run HTTP server locally |\n| `make docker-run-http` | Run HTTP server in Docker |\n| `make test-http` | Test HTTP health endpoint |\n| `make clean` | Remove build artifacts |\n| `make help` | Show all available commands |\n\n## Contributing\n\n1. Fork the repository\n2. Create your feature branch\n3. Make your changes\n4. Run tests\n5. Submit a pull request\n\n## License\n\nThis project is licensed under the terms of the MPL-2.0 open source license. Please refer to [LICENSE](.\u002FLICENSE) file for the full terms.\n\n## Security\n\nFor security issues, please contact security@hashicorp.com or follow our [security policy](https:\u002F\u002Fwww.hashicorp.com\u002Fen\u002Ftrust\u002Fsecurity\u002Fvulnerability-management).\n\n## Support\n\nFor bug reports and feature requests, please open an issue on GitHub.\n\nFor general questions and discussions, open a GitHub Discussion.\n","# \u003Cimg src=\"public\u002Fimages\u002FTerraform-LogoMark_onDark.svg\" width=\"30\" align=\"left\" style=\"margin-right: 12px;\"\u002F> Terraform MCP 服务器\n\nTerraform MCP 服务器是一个 [模型上下文协议 (MCP)](https:\u002F\u002Fmodelcontextprotocol.io\u002Fintroduction)\n服务器，它与 Terraform Registry API 进行无缝集成，为基础设施即代码 (IaC) 开发提供了先进的自动化和交互功能。\n\n## 特性\n\n- **双传输支持**：同时支持 Stdio 和 StreamableHTTP 传输，并可配置端点\n- **Terraform 注册表集成**：直接集成公共 Terraform 注册表 API，用于提供程序、模块和策略\n- **HCP Terraform 和 Terraform Enterprise 支持**：全面的工作区管理、组织\u002F项目列表以及私有注册表访问\n- **工作区操作**：创建、更新、删除工作区，支持变量、标签和运行管理\n- **OTel 指标用于监控工具使用情况**：与 OpenTelemetry 计量器集成，以跟踪 Streamable HTTP 模式下的工具调用量、延迟和失败情况\n\n> **安全提示：** 目前阶段，MCP 服务器仅适用于本地使用。如果使用 StreamableHTTP 传输，请务必配置 MCP_ALLOWED_ORIGINS 环境变量，以限制仅允许受信任的来源访问。这有助于防止 DNS 重绑定攻击和其他跨域漏洞。\n\n> **安全提示：** 根据查询内容，MCP 服务器可能会将某些 Terraform 数据暴露给 MCP 客户端和 LLM。请勿将 MCP 服务器与不受信任的 MCP 客户端或 LLM 一起使用。\n\n> **法律提示：** 您对第三方 MCP 客户端\u002FLLM 的使用完全受该等 MCP\u002FLLM 使用条款的约束，IBM 对此类第三方工具的性能不承担任何责任。IBM 明确声明不对第三方 MCP 客户端\u002FLLM 承担任何保证或责任，并且可能无法为您提供因第三方工具引起的问题的支持服务。\n\n> **注意事项：** MCP 服务器提供的输出和建议是动态生成的，可能会根据查询、模型以及连接的 MCP 客户端而有所不同。用户应在实施之前仔细审查所有输出\u002F建议，以确保其符合贵组织的安全最佳实践、成本效益目标和合规要求。\n\n## 先决条件\n\n1. 确保已安装并运行 [Docker](https:\u002F\u002Fwww.docker.com\u002F)，以便在容器化环境中使用该服务器。\n1. 安装一个支持模型上下文协议 (MCP) 的 AI 助手。\n\n## 命令行选项\n\n**环境变量：**\n\n| 变量 | 描述 | 默认值 |\n|----------|-------------|---------|\n| `TFE_ADDRESS` | HCP Terraform 或 TFE 地址 | `\"https:\u002F\u002Fapp.terraform.io\"` |\n| `TFE_TOKEN` | Terraform Enterprise API 令牌 | `\"\"`（空） |\n| `TFE_SKIP_TLS_VERIFY` | 跳过 HCP Terraform 或 Terraform Enterprise TLS 验证 | `false` |\n| `LOG_LEVEL` | 日志级别：`trace`、`debug`、`info`、`warn`、`error`、`fatal`、`panic`（覆盖 `--log-level` 标志） | `info` |\n| `LOG_FORMAT` | 日志格式：`text` 或 `json`（覆盖 `--log-format` 标志）| `text` |\n| `TRANSPORT_MODE` | 设置为 `streamable-http` 以启用 HTTP 传输（仍支持旧版 `http` 值） | `stdio` |\n| `TRANSPORT_HOST` | 绑定 HTTP 服务器的主机 | `127.0.0.1` |\n| `TRANSPORT_PORT` | HTTP 服务器端口 | `8080` |\n| `MCP_ENDPOINT` | HTTP 服务器端点路径 | `\u002Fmcp` |\n| `MCP_KEEP_ALIVE` | SSE 连接的保持活动间隔（例如 30 秒、1 分钟）。设置为 0 可禁用 | `0` |\n| `MCP_SESSION_MODE` | 会话模式：`stateful` 或 `stateless` | `stateful` |\n| `MCP_ALLOWED_ORIGINS` | 允许的 CORS 来源逗号分隔列表 | `\"\"`（空） |\n| `MCP_CORS_MODE` | CORS 模式：`strict`、`development` 或 `disabled` | `strict` |\n| `MCP_TLS_CERT_FILE` | TLS 证书文件路径，非本地部署时必需（例如 `\u002Fpath\u002Fto\u002Fcert.pem`） | `\"\"`（空） |\n| `MCP_TLS_KEY_FILE` | TLS 密钥文件路径，非本地部署时必需（例如 `\u002Fpath\u002Fto\u002Fkey.pem`）| `\"\"`（空） |\n| `MCP_RATE_LIMIT_GLOBAL` | 全局速率限制（格式：`rps:burst`） | `10:20` |\n| `MCP_RATE_LIMIT_SESSION` | 每会话速率限制（格式：`rps:burst`） | `5:10` |\n| `ENABLE_TF_OPERATIONS` | 启用需要明确批准的工具 | `false` |\n| `OTEL_METRICS_ENABLED` | 使用 OTel 启用工具指标 | `false` |\n| `OTEL_METRICS_SERVICE_VERSION` | 发送指标的 terraform-mcp-server 版本，用于设置指标属性。也有助于跟踪不同部署中的指标 | `latest` |\n| `OTEL_METRICS_SERVICE_NAME` | 标识指标来源（例如“terraform-mcp-server”） | `terraform-mcp-server` |\n| `OTEL_METRICS_EXPORT_INTERVAL` | 控制指标刷新频率 | `2` |\n| `OTEL_METRICS_ENDPOINT` | 您的 OTel Collector 或后端 URL | `localhost:4318` |\n\n\n```bash\n# Stdio 模式\nterraform-mcp-server stdio [--log-file \u002Fpath\u002Fto\u002Flog] [--log-level info] [--log-format text] [--toolsets \u003Ctoolsets>] [--tools \u003Ctools>]\n\n# StreamableHTTP 模式\nterraform-mcp-server streamable-http [--transport-port 8080] [--transport-host 127.0.0.1] [--mcp-endpoint \u002Fmcp] [--log-file \u002Fpath\u002Fto\u002Flog] [--log-level info] [--log-format text] [--toolsets \u003Ctoolsets>] [--tools \u003Ctools>]\n```\n\n## 指令\n\nMCP 服务器的默认指令位于 `cmd\u002Fterraform-mcp-server\u002Finstructions.md` 中。如果这些指令不适合贵组织的 Terraform 实践，或者 MCP 服务器产生了不准确的响应，请将其替换为您自己的指令，并重新构建容器或二进制文件。此类指令的示例位于 `instructions\u002Fexample-mcp-instructions.md`。\n\n`AGENTS.md` 实质上充当编码代理的 README 文件：一个专门且可预测的地方，用于提供上下文和指令，以帮助 AI 编码代理完成您的项目。一个 `AGENTS.md` 文件可以与不同的编码代理配合使用。此类指令的示例位于 `instructions\u002Fexample-AGENTS.md` 中，要使用它，只需将名为 `AGENTS.md` 的文件提交到您存放 Terraform 配置的目录中。\n\n## 安装\n\n### 在 Visual Studio Code 中的使用\n\n将以下 JSON 块添加到 VS Code 的用户设置（JSON）文件中。您可以通过按 `Ctrl + Shift + P` 并输入 `Preferences: Open User Settings (JSON)` 来完成此操作。\n\n有关在 VS Code 的代理模式下使用 MCP 服务器工具的更多信息，请参阅 [代理模式文档](https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fcopilot\u002Fchat\u002Fmcp-servers)。\n\n\u003Ctable>\n\u003Ctr>\u003Cth>版本 0.3.0 及以上\u003C\u002Fth>\u003Cth>版本 0.2.3 或更低\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"-e\", \"TFE_TOKEN=${input:tfe_token}\",\n          \"-e\", \"TFE_ADDRESS=${input:tfe_address}\",\n          \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n        ]\n      }\n    },\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"tfe_token\",\n        \"description\": \"Terraform API Token\",\n        \"password\": true\n      },\n      {\n        \"type\": \"promptString\",\n        \"id\": \"tfe_address\",\n        \"description\": \"Terraform Address\",\n        \"password\": false\n      }\n    ]\n  }\n}\n```\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n        ]\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n可选地，您可以将类似的示例（即不包含 mcp 键）添加到工作区中的 `.vscode\u002Fmcp.json` 文件中。这将允许您与他人共享配置。\n\n\u003Ctable>\n\u003Ctr>\u003Cth>版本 0.3.0 及以上\u003C\u002Fth>\u003Cth>版本 0.2.3 或更低\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_TOKEN=${input:tfe_token}\",\n        \"-e\", \"TFE_ADDRESS=${input:tfe_address}\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  },\n  \"inputs\": [\n    {\n      \"type\": \"promptString\",\n      \"id\": \"tfe_token\",\n      \"description\": \"Terraform API Token\",\n      \"password\": true\n    },\n    {\n      \"type\": \"promptString\",\n      \"id\": \"tfe_address\",\n      \"description\": \"Terraform Address\",\n      \"password\": false\n    }\n  ]\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ]\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\n[\u003Cimg alt=\"在 VS Code 中安装（docker）\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code-VS_Code?style=flat-square&label=Install%20Terraform%20MCP&color=0098FF\">](https:\u002F\u002Fvscode.dev\u002Fredirect?url=vscode%3Amcp%2Finstall%3F%7B%22name%22%3A%22terraform%22%2C%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22hashicorp%2Fterraform-mcp-server%22%5D%7D)\n[\u003Cimg alt=\"在 VS Code Insiders 中安装（docker）\" src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVS_Code_Insiders-VS_Code_Insiders?style=flat-square&label=Install%20Terraform%20MCP&color=24bfa5\">](https:\u002F\u002Finsiders.vscode.dev\u002Fredirect?url=vscode-insiders%3Amcp%2Finstall%3F%7B%22name%22%3A%22terraform%22%2C%22command%22%3A%22docker%22%2C%22args%22%3A%5B%22run%22%2C%22-i%22%2C%22--rm%22%2C%22hashicorp%2Fterraform-mcp-server%22%5D%7D)\n\n### 在 Cursor 中的使用\n\n将以下内容添加到您的 Cursor 配置文件 (`~\u002F.cursor\u002Fmcp.json`) 中，或通过“设置”→“Cursor 设置”→“MCP”进行配置：\n\n\u003Ctable>\n\u003Ctr>\u003Cth>版本 0.3.0 及以上\u003C\u002Fth>\u003Cth>版本 0.2.3 或更低\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"servers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ]\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n\u003Ca href=\"cursor:\u002F\u002Fanysphere.cursor-deeplink\u002Fmcp\u002Finstall?name=terraform&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItaSIsIi0tcm0iLCJoYXNoaWNvcnAvdGVycmFmb3JtLW1jcC1zZXJ2ZXIiXX0%3D\">\n  \u003Cimg alt=\"将 Terraform MCP 服务器添加到 Cursor\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhashicorp_terraform-mcp-server_readme_d876e400cba5.png\" height=\"32\" \u002F>\n\u003C\u002Fa>\n\n### 在 Claude Desktop \u002F Amazon Q Developer \u002F Amazon Q CLI 中的使用\n\n有关在 Claude Desktop 中使用 MCP 服务器工具的更多信息，请参阅 [用户文档](https:\u002F\u002Fmodelcontextprotocol.io\u002Fquickstart\u002Fuser)。有关在 Amazon Q 中使用 MCP 服务器的更多信息，请参阅 [文档](https:\u002F\u002Fdocs.aws.amazon.com\u002Famazonq\u002Flatest\u002Fqdeveloper-ug\u002Fqdev-mcp.html)。\n\n\u003Ctable>\n\u003Ctr>\u003Cth>版本 0.3.0 及以上\u003C\u002Fth>\u003Cth>版本 0.2.3 或更低\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ]\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n### 在 Claude Code 中的使用\n\n有关在 Claude Code 中使用和添加 MCP 服务器工具的更多信息，请参阅 [用户文档](https:\u002F\u002Fdocs.claude.com\u002Fen\u002Fdocs\u002Fclaude-code\u002Fmcp)。\n\n- 本地（`stdio`）传输\n\n```sh\nclaude mcp add terraform -s user -t stdio -- docker run -i --rm hashicorp\u002Fterraform-mcp-server\n```\n\n- 远程（`streamable-http`）传输\n\n```sh\n# 启动服务器（示例）\ndocker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 hashicorp\u002Fterraform-mcp-server\n\n# 添加到 Claude Code\nclaude mcp add --transport http terraform http:\u002F\u002Flocalhost:8080\u002Fmcp\n```\n\n### 在 Gemini 扩展中的使用\n\n为确保安全，请勿硬编码您的凭据，而是创建或更新 `~\u002F.gemini\u002F.env` 文件（其中 ~ 是您的主目录或项目目录），用于存储 HCP Terraform 或 Terraform Enterprise 的凭据。\n\n```\n# ~\u002F.gemini\u002F.env\nTFE_ADDRESS=your_tfe_address_here\nTFE_TOKEN=your_tfe_token_here\n```\n\n安装扩展并运行 Gemini：\n\n```\ngemini extensions install https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\ngemini\n```\n\n### 与 Bob IDE \u002F Shell 的使用\n\n关于在 Bob IDE 或 Shell 中使用和添加 MCP 服务器工具的更多信息，请参阅 [在 Bob 中使用 MCP](https:\u002F\u002Fbob.ibm.com\u002Fdocs\u002Fide\u002Fconfiguration\u002Fmcp\u002Fmcp-in-bob)。\n\n\u003Ctable>\n\u003Ctr>\u003Cth>版本 0.3.0 及以上\u003C\u002Fth>\u003Cth>版本 0.2.3 或以下\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"hashicorp\u002Fterraform-mcp-server:0.2.3\"\n      ],\n      \"disabled\": false\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 从源代码安装\n\n使用最新发布版本：\n\n```console\ngo install github.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fcmd\u002Fterraform-mcp-server@latest\n```\n\n使用主分支：\n\n```console\ngo install github.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fcmd\u002Fterraform-mcp-server@main\n```\n\n\u003Ctable>\n\u003Ctr>\u003Cth>版本 0.3.0 及以上\u003C\u002Fth>\u003Cth>版本 0.2.3 或以下\u003C\u002Fth>\u003C\u002Ftr>\n\u003Ctr valign=top>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"type\": \"stdio\",\n        \"command\": \"\u002Fpath\u002Fto\u002Fterraform-mcp-server\",\n        \"env\": {\n          \"TFE_TOKEN\": \"\u003C\u003CTFE_TOKEN_HERE>>\"\n        },\n      }\n    }\n  }\n}\n```\n\n\u003C\u002Ftd>\n\u003Ctd>\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"type\": \"stdio\",\n        \"command\": \"\u002Fpath\u002Fto\u002Fterraform-mcp-server\"\n      }\n    }\n  }\n}\n```\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 在本地构建 Docker 镜像\n\n在使用服务器之前，您需要在本地构建 Docker 镜像：\n\n1. 克隆仓库：\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server.git\ncd terraform-mcp-server\n```\n\n2. 构建 Docker 镜像：\n```bash\nmake docker-build\n```\n\n3. 这将创建一个本地 Docker 镜像，您可以在以下配置中使用。\n\n```bash\n# 以 stdio 模式运行\ndocker run -i --rm terraform-mcp-server:dev\n\n# 以可流式传输的 HTTP 模式运行\ndocker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 terraform-mcp-server:dev\n\n# 筛选工具（可选）\ndocker run -i --rm terraform-mcp-server:dev --toolsets=registry,terraform\ndocker run -i --rm terraform-mcp-server:dev --tools=search_providers,get_provider_details\n```\n\n> **注意：** 在 Docker 中运行时，应设置 `TRANSPORT_HOST=0.0.0.0` 以允许来自容器外部的连接。\n\n4. （可选）测试 HTTP 模式下的连接\n\n```bash\n# 测试连接\ncurl http:\u002F\u002Flocalhost:8080\u002Fhealth\n```\n\n5. 您可以将其用于您的 AI 助手，如下所示：\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"terraform-mcp-server:dev\"\n      ]\n    }\n  }\n}\n```\n\n## 可用工具\n\n[在此处查看可用工具 :link:](https:\u002F\u002Fdeveloper.hashicorp.com\u002Fterraform\u002Fdocs\u002Ftools\u002Fmcp-server\u002Freference#available-tools)\n\n## 可用资源\n\n[在此处查看可用资源 :link:](https:\u002F\u002Fdeveloper.hashicorp.com\u002Fterraform\u002Fdocs\u002Ftools\u002Fmcp-server\u002Freference#available-resources)\n\n### 工具筛选\n\n使用 `--toolsets`（组）或 `--tools`（单个工具）来控制哪些工具可用：\n\n```bash\n# 启用工具组（默认：registry）\nterraform-mcp-server --toolsets=registry,terraform\n\n# 仅启用特定工具\nterraform-mcp-server --tools=search_providers,get_provider_details,list_workspaces\n```\n\n可用工具集：`registry`、`registry-private`、`terraform`、`all`、`default`。有关单个工具名称，请参阅 `pkg\u002Ftoolsets\u002Fmapping.go` 文件。不能同时使用这两个标志。\n\n## 传输支持\n\nTerraform MCP 服务器支持多种传输协议：\n\n### 1. Stdio 传输（默认）\n使用 JSON-RPC 消息进行标准输入\u002F输出通信。非常适合本地开发和直接与 MCP 客户端集成。\n\n### 2. 可流式传输的 HTTP 传输\n现代基于 HTTP 的传输，支持直接 HTTP 请求和服务器发送事件 (SSE) 流。这是推荐用于远程\u002F分布式部署的传输方式。\n\n**功能：**\n- **端点**：`http:\u002F\u002F{hostname}:8080\u002Fmcp`\n- **健康检查**：`http:\u002F\u002F{hostname}:8080\u002Fhealth`\n- **环境配置**：设置 `TRANSPORT_MODE=http` 或 `TRANSPORT_PORT=8080` 以启用\n\n## 会话模式\n\nTerraform MCP 服务器在使用可流式传输的 HTTP 传输时支持两种会话模式：\n\n- **有状态模式（默认）**：在请求之间保持会话状态，从而实现上下文感知的操作。\n- **无状态模式**：每个请求独立处理，不保持会话状态，这在高可用性部署或使用负载均衡器时非常有用。\n\n要启用无状态模式，请设置环境变量：\n```bash\nexport MCP_SESSION_MODE=stateless\n```\n## 故障排除\n\n### 企业代理 \u002F TLS 检查（Zscaler 等）\n\n如果您位于执行 TLS 检查的企业代理之后（如 Zscaler Internet Access），可能会看到证书错误：\n```\ntls: failed to verify certificate: x509: certificate signed by unknown authority\n```\n\n**解决方案：将您的企业 CA 证书挂载到容器中：**\n```bash\ndocker run -i --rm \\\n  -v \u002Fpath\u002Fto\u002Fcorporate-ca.pem:\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem \\\n  -e SSL_CERT_FILE=\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem \\\n  hashicorp\u002Fterraform-mcp-server:0.5.0\n```\n\n对于 MCP 客户端配置：\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-v\", \"\u002Fpath\u002Fto\u002Fcorporate-ca.pem:\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem\",\n        \"-e\", \"SSL_CERT_FILE=\u002Fetc\u002Fssl\u002Fcerts\u002Fcorporate-ca.pem\",\n        \"-e\", \"TFE_TOKEN=\u003C>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n**替代方案：直接运行二进制文件**\n\n如果您的环境中不允许使用 Docker，您可以直接安装并运行服务器二进制文件，它将使用您系统的证书存储：\n```bash\ngo install github.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fcmd\u002Fterraform-mcp-server@latest\nterraform-mcp-server stdio\n```\n## 开发\n\n### 先决条件\n- Go（请参阅 [go.mod](.\u002Fgo.mod) 文件以获取具体版本）\n- Docker（可选，用于容器构建）\n\n### 可用的 Make 命令\n\n| 命令 | 描述 |\n|---------|-------------|\n| `make build` | 构建二进制文件 |\n| `make test` | 运行所有测试 |\n| `make test-e2e` | 运行端到端测试 |\n| `make docker-build` | 构建 Docker 镜像 |\n| `make run-http` | 在本地运行 HTTP 服务器 |\n| `make docker-run-http` | 在 Docker 中运行 HTTP 服务器 |\n| `make test-http` | 测试 HTTP 健康端点 |\n| `make clean` | 删除构建产物 |\n| `make help` | 显示所有可用命令 |\n\n## 贡献\n\n1. 分支仓库\n2. 创建您的功能分支\n3. 进行更改\n4. 运行测试\n5. 提交拉取请求\n\n## 许可证\n\n本项目依据 MPL-2.0 开源许可证条款授权。完整条款请参阅 [LICENSE](.\u002FLICENSE) 文件。\n\n## 安全\n\n如遇安全问题，请联系 security@hashicorp.com，或遵循我们的 [安全政策](https:\u002F\u002Fwww.hashicorp.com\u002Fen\u002Ftrust\u002Fsecurity\u002Fvulnerability-management)。\n\n## 支持\n\n如需提交 bug 报告或功能请求，请在 GitHub 上创建 issue。\n\n如需进行一般性问题讨论，请在 GitHub Discussions 中发帖。","# Terraform MCP Server 快速上手指南\n\nTerraform MCP Server 是一个基于模型上下文协议（MCP）的服务端工具，旨在让 AI 助手无缝集成 Terraform Registry API、HCP Terraform 及 Terraform Enterprise。它支持自动化基础设施即代码（IaC）开发，包括工作区管理、模块查询及策略执行。\n\n## 环境准备\n\n在开始之前，请确保满足以下前置条件：\n\n1.  **Docker 环境**：必须安装并运行 Docker，因为官方推荐通过容器化方式部署该服务。\n    *   下载地址：[https:\u002F\u002Fwww.docker.com\u002F](https:\u002F\u002Fwww.docker.com\u002F)\n2.  **支持 MCP 的 AI 助手**：安装已集成 Model Context Protocol (MCP) 的 AI 编程助手（如 VS Code + Copilot、Cursor、Claude Desktop 等）。\n3.  **Terraform 凭证（可选但推荐）**：若需连接 HCP Terraform 或 Terraform Enterprise，请准备好 `TFE_TOKEN` 和 `TFE_ADDRESS`。\n\n## 安装步骤\n\n根据你使用的 AI 助手不同，配置方式略有差异。以下提供主流工具的配置文件片段。\n\n### 1. Visual Studio Code (VS Code)\n\n打开 VS Code 命令面板 (`Ctrl + Shift + P`)，选择 `Preferences: Open User Settings (JSON)`，添加以下配置。\n\n**适用于 v0.3.0+ 版本（推荐）：**\n\n```json\n{\n  \"mcp\": {\n    \"servers\": {\n      \"terraform\": {\n        \"command\": \"docker\",\n        \"args\": [\n          \"run\",\n          \"-i\",\n          \"--rm\",\n          \"-e\", \"TFE_TOKEN=${input:tfe_token}\",\n          \"-e\", \"TFE_ADDRESS=${input:tfe_address}\",\n          \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n        ]\n      }\n    },\n    \"inputs\": [\n      {\n        \"type\": \"promptString\",\n        \"id\": \"tfe_token\",\n        \"description\": \"Terraform API Token\",\n        \"password\": true\n      },\n      {\n        \"type\": \"promptString\",\n        \"id\": \"tfe_address\",\n        \"description\": \"Terraform Address\",\n        \"password\": false\n      }\n    ]\n  }\n}\n```\n*保存后，VS Code 会在首次使用时提示你输入 Token 和地址。*\n\n### 2. Cursor\n\n编辑 Cursor 配置文件 `~\u002F.cursor\u002Fmcp.json`（或在设置界面中找到 MCP 配置），填入以下内容：\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n*请将 `\u003C\u003CPASTE_TFE_ADDRESS_HERE>>` 和 `\u003C\u003CPASTE_TFE_TOKEN_HERE>>` 替换为你实际的 Terraform 地址和 Token。*\n\n### 3. Claude Desktop \u002F Amazon Q Developer\n\n找到对应的 MCP 配置文件（通常位于 `claude_desktop_config.json` 或类似路径），添加：\n\n```json\n{\n  \"mcpServers\": {\n    \"terraform\": {\n      \"command\": \"docker\",\n      \"args\": [\n        \"run\",\n        \"-i\",\n        \"--rm\",\n        \"-e\", \"TFE_ADDRESS=\u003C\u003CPASTE_TFE_ADDRESS_HERE>>\",\n        \"-e\", \"TFE_TOKEN=\u003C\u003CPASTE_TFE_TOKEN_HERE>>\",\n        \"hashicorp\u002Fterraform-mcp-server:0.5.0\"\n      ]\n    }\n  }\n}\n```\n\n### 4. Claude Code (命令行模式)\n\n如果你使用 Claude Code CLI，可以直接通过命令添加：\n\n**本地 Stdio 模式：**\n```sh\nclaude mcp add terraform -s user -t stdio -- docker run -i --rm hashicorp\u002Fterraform-mcp-server\n```\n\n**远程 HTTP 模式：**\n先启动服务器：\n```sh\ndocker run -p 8080:8080 --rm -e TRANSPORT_MODE=streamable-http -e TRANSPORT_HOST=0.0.0.0 hashicorp\u002Fterraform-mcp-server\n```\n然后在 Claude Code 中配置连接该端口。\n\n## 基本使用\n\n配置完成后，重启你的 AI 助手即可生效。你可以在对话中直接使用自然语言指令与 Terraform 交互。\n\n**使用示例：**\n\n1.  **查询模块**：\n    > \"帮我查找 Terraform Registry 上最新的 AWS VPC 模块，并列出其主要输入变量。\"\n\n2.  **管理工作区**（需配置 TFE Token）：\n    > \"列出我组织 'my-org' 下的所有 Terraform 工作区。\"\n    > \"为项目 'web-app' 创建一个新的工作区，并设置环境变量 'AWS_REGION' 为 'us-east-1'。\"\n\n3.  **生成代码**：\n    > \"根据最佳实践，为我生成一个包含 S3 存储桶和 CloudFront 分发的 Terraform 配置代码。\"\n\n**安全提示：**\n*   该服务默认仅限本地使用。若启用 `streamable-http` 模式，务必设置 `MCP_ALLOWED_ORIGINS` 环境变量以限制访问来源，防止跨站攻击。\n*   请勿将包含敏感数据的 Terraform 状态暴露给不受信任的 MCP 客户端或 LLM。\n*   AI 生成的代码和建议仅供参考，实施前请务必进行人工审查，确保符合安全规范和成本要求。","某云原生团队的后端工程师需要在短时间内为新产品搭建一套包含数据库、负载均衡和安全组的多环境基础设施，同时必须确保代码符合公司最新的合规策略。\n\n### 没有 terraform-mcp-server 时\n- **模块检索低效**：工程师需手动切换浏览器访问 Terraform Registry 查找官方认证的数据库模块，反复对比版本和参数，耗时且容易选错。\n- **上下文频繁断裂**：在编写 HCL 代码时，为了确认 HCP Terraform 上现有工作空间的变量配置或运行状态，不得不离开 IDE 去控制台查询，打断开发心流。\n- **多环境同步困难**：创建测试、预发和生产环境的工作空间时，需重复执行 CLI 命令或手动在网页点击，极易因漏配标签（Tags）或变量导致环境不一致。\n- **合规检查滞后**：无法在编码阶段实时获取组织内的最新策略模块，往往要等到 CI\u002FCD 流水线报错或人工审计时才发现违规，修复成本高昂。\n\n### 使用 terraform-mcp-server 后\n- **智能模块推荐**：直接在 AI 助手对话框中询问“推荐的 AWS RDS 模块”，terraform-mcp-server 即时调用 Registry API 返回最佳实践模块及参数示例，秒级完成选型。\n- **无缝状态感知**：工程师自然语言询问“生产环境工作空间的数据库版本变量是多少”，工具直接连接 HCP Terraform 返回实时数据，无需离开代码编辑器。\n- **一键环境编排**：通过指令“基于当前配置为预发环境创建工作空间并打上 CostCenter 标签”，工具自动调用 API 完成创建、变量注入和标签管理，确保零误差。\n- **实时策略对齐**：在定义资源前，AI 结合工具获取的组织私有策略模块，主动提示当前架构潜在的安全风险并给出修正后的代码建议，将合规左移至开发阶段。\n\nterraform-mcp-server 通过将基础设施的查询、管理与策略能力深度融入开发对话流，把原本割裂的手动操作转变为流畅的自动化闭环，显著提升了 IaC 开发的效率与安全性。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fhashicorp_terraform-mcp-server_5fe3649e.png","hashicorp","HashiCorp","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fhashicorp_2df1b189.png","Consistent workflows to provision, secure, connect, and run any infrastructure for any application.",null,"hello@hashicorp.com","https:\u002F\u002Fhashicorp.com","https:\u002F\u002Fgithub.com\u002Fhashicorp",[85,89,93,97,101],{"name":86,"color":87,"percentage":88},"Go","#00ADD8",96.1,{"name":90,"color":91,"percentage":92},"Shell","#89e051",1.7,{"name":94,"color":95,"percentage":96},"Makefile","#427819",0.9,{"name":98,"color":99,"percentage":100},"HCL","#844FBA",0.8,{"name":102,"color":103,"percentage":104},"Dockerfile","#384d54",0.5,1299,140,"2026-04-01T21:42:06","MPL-2.0","Linux, macOS, Windows","未说明",{"notes":112,"python":110,"dependencies":113},"该工具主要基于 Docker 容器运行，无需特定 Python 环境。核心依赖为已安装并运行的 Docker。若使用 HTTP 传输模式，需配置环境变量以限制访问来源（防止跨站攻击）。连接 HCP Terraform 或 Terraform Enterprise 时需要有效的 API Token。建议仅在本地受信任环境中使用，避免将敏感 Terraform 数据暴露给不可信的 MCP 客户端或大模型。",[114],"Docker",[15,45],"2026-03-27T02:49:30.150509","2026-04-06T08:45:17.721386",[119,124,129,134,139,144,148],{"id":120,"question_zh":121,"answer_zh":122,"source_url":123},12030,"如何在不设置 HCP_TF_TOKEN 环境变量的情况下运行 MCP Server？","初始发布版本已清理了对 HCP_TF_TOKEN 的强制要求。现在 MCP Server 可以仅针对非认证端点（如公共 Terraform Registry）运行，无需导出该环境变量即可启动服务。","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F29",{"id":125,"question_zh":126,"answer_zh":127,"source_url":128},12031,"MCP Server 是否包含获取 Terraform 官方文档的工具？","是的，该功能已作为 Resource（资源）实现在服务器中，而非独立的 Tool（工具）。LLM 可以利用现有的资源接口检索最新的 Terraform 语法和文档（包括测试架构），相关代码位于 `pkg\u002Fhashicorp\u002Ftfregistry\u002Fresources.go`。","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F111",{"id":130,"question_zh":131,"answer_zh":132,"source_url":133},12032,"如果不使用 Docker，是否有其他方式运行 MCP Server？","可以直接编译并运行服务器可执行文件作为 MCP 服务命令。这种方式虽然失去了容器化的操作系统无关性优势，但适用于那些不允许运行 Docker 的团队环境，且同样支持通过挂载证书等方式处理代理问题。","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F89",{"id":135,"question_zh":136,"answer_zh":137,"source_url":138},12026,"如何配置 Terraform MCP Server 以支持 Terraform Cloud 私有注册表？","该功能已在版本 0.3.0 中实现。您只需提供 Terraform Cloud (TFC) 的 URL 和相应的 API Key，MCP Server 即可获取私有组织资源的详细信息并用于构建配置。","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F63",{"id":140,"question_zh":141,"answer_zh":142,"source_url":143},12027,"MCP Server 是否支持获取最新的 Provider 版本信息？","支持。当 LLM 决定留空版本号或使用 \"latest\" 字符串时，MCP Server 会自动查询并获取该 Provider 的最新版本号及相关文档。例如，请求 \"hashicorp\u002Fazuread\" 的最新版本时，它会自动注入具体的版本号（如 3.4.0）。","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F79",{"id":145,"question_zh":146,"answer_zh":147,"source_url":133},12028,"如何在 Zscaler 等带有 TLS 检查的企业代理背后运行 Docker 版的 MCP Server？","如果遇到 \"certificate signed by unknown authority\" 错误，可以通过挂载自定义证书文件来解决。启动容器时使用以下命令格式：\n`docker run -v \u002Fpath\u002Fto\u002Fcerts\u002Fzscaler.pem:\u002Fetc\u002Fssl\u002Fcerts\u002Fzscaler.pem -e SSL_CERT_FILE=\u002Fetc\u002Fssl\u002Fcerts\u002Fzscaler.pem`\n这将把您的 .pem 证书文件映射到容器中并设置为信任库。",{"id":149,"question_zh":150,"answer_zh":151,"source_url":152},12029,"MCP Server 是否支持通过 HTTP\u002FSSE 或 StreamHTTP 协议进行远程调用？","截至目前，该 MCP Server 仅支持 stdio（标准输入输出）协议，暂不支持 SSE 或 StreamHTTP 模式。如果您需要跨网络调用，可能需要通过其他中间件转发 stdio 流，或者直接编译并在目标服务器上运行可执行文件。","https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F68",[154,159,164,169,174,179,184,189,194,199,204],{"id":155,"version":156,"summary_zh":157,"released_at":158},62470,"v0.5.0","## 0.5.0\n\n功能特性\n\n* [新工具] `get_plan_json_output` 获取 Terraform 计划的结构化 JSON 输出，以机器可读的格式提供详细的资源变更信息，相比纯日志更易于解析\n* [新工具] `get_plan_details` 拉取特定 Terraform 计划的详细元数据\n* [新工具] `get_plan_logs` 获取特定 Terraform 计划的执行日志\n* [新工具] `get_apply_details` 拉取特定 Terraform 应用的详细元数据\n* [新工具] `get_apply_logs` 获取特定 Terraform 应用的执行日志\n\n改进\n\n* 在代理环境中为 Terraform Token 添加 `Authorization: Bearer` 头支持\n* 在负载均衡环境中添加 `--heartbeat-interval` CLI 标志和 `MCP_HEARTBEAT_INTERVAL` 环境变量，用于 HTTP 心跳检测\n* 为 TFE API 请求设置自定义 User-Agent 头，以便将 MCP 服务器的使用情况与其他 go-tfe 客户端区分开来跟踪 [268](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F268)\n* 新增 `--log-level` 和 `--log-format` CLI 标志，分别用于设置服务器日志的期望级别和日志格式 [286](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F286)\n* 为工具调用指标添加 OpenTelemetry 仪表化——包括工具调用次数、工具错误次数和工具调用延迟 [300](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F300)\n\n修复\n\n* `list_runs` 因 JSON 编码错误而返回空响应\n\n","2026-04-01T19:39:14",{"id":160,"version":161,"summary_zh":162,"released_at":163},62471,"v0.4.0","## 0.4.0\n\n特性\n\n* [新工具] `list_workspace_policy_sets` 读取附加到工作区的所有策略集\n* [新工具] `attach_policy_set_to_workspaces` 将一个策略集附加到一个或多个工作区\n* **工具集标志**：新增 `--toolsets` 标志，用于按需启用工具组。现有三个工具组：`registry`（公共 Terraform Registry）、`registry-private`（私有 TFE\u002FTFC 注册表）和 `terraform`（TFE\u002FTFC 操作）。默认仅启用 `registry`。\n* **单个工具标志**：新增 `--tools` 标志，允许通过工具名称启用特定工具，实现更细粒度的控制。该标志接受以逗号分隔的工具名称列表，并进行验证和安全检查。\n* 新增 `get_token_permissions` 工具，用于列出当前令牌的权限。\n* 增加对“堆栈”的支持，提供 `list_stacks` 和 `get_stack_details` 工具。\n\n修复\n\n* 跳过 TLS 标志未正确传播 [243](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F243)\n* 将 Dockerfile 中的 CMD 指令改为 ENTRYPOINT [246](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F246)\n* 在 `list_` 工具中将大型响应截断为顶层摘要\n* 在 `list_` 响应中嵌入分页信息\n\n改进\n\n* 将输入验证错误作为工具执行错误返回，而非协议错误\n","2026-01-22T22:12:24",{"id":165,"version":166,"summary_zh":167,"released_at":168},62472,"v0.3.3","## 0.3.3（2025年11月21日）\n\n改进\n\n* 添加对 Terraform 列表资源文档搜索的支持\n\n","2025-11-21T20:58:51",{"id":170,"version":171,"summary_zh":172,"released_at":173},62473,"v0.3.2","## 0.3.2（2025年10月23日）\n\n功能特性\n\n* 【新工具】`get_provider_capabilities`：新增提供商能力发现工具，用于分析可用的资源、数据源、函数、指南和操作。\n* 【新工具】`create_no_code_workspace`：新增使用无代码模块触发工作空间运行的能力。\n\n问题修复\n\n* 添加了模块 ID 验证器，以修复问题 [182](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fissues\u002F182)。\n* 修复了 README 中关于 `TFE_HOSTNAME` 与 `TFE_ADDRESS` 的说明。\n\n改进\n\n* 在仓库中添加了官方 MCP 注册服务器 JSON 规范文件 [server.json](server.json)。详情请参阅 [#200](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F200)。\n","2025-10-24T03:47:11",{"id":175,"version":176,"summary_zh":177,"released_at":178},62474,"v0.3.1","## 0.3.1（2025年10月3日）\n\n特性\n\n* 添加 Gemini 扩展。详见 [189](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F189)\n\n改进\n\n* 增加对 Terraform Actions 文档搜索的支持\n\n修复\n\n* 对 VS Code、Cursor 等的示例配置进行了 minor 修复\n\n","2025-10-04T02:46:47",{"id":180,"version":181,"summary_zh":182,"released_at":183},62475,"v0.3.0","## 0.3.0（2025年9月24日）\n\n特性\n\n* 添加用于在 HCP Terraform 和 TFE 中管理工作区的工具。\n* 实现 HCP Terraform 和 TFE 的身份验证，并重构代码库。参见 [#121](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F121) 和 [#145](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F145)。\n* 为管理员添加 2 个新的 HCP TF\u002FTFE 工具：列出 Terraform 组织和项目。参见 [#121](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F121)。\n* 为私有注册表支持添加 4 个新的 HCP TF\u002FTFE 工具。参见 [#142](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F142)。\n* 为工作区变量支持添加 3 个 HCP TF\u002FTFE 工具。参见 [#170](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F170)。\n* 为工作区标签添加 2 个新的 HCP TF\u002FTFE 工具。参见 [#171](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F171)。\n* 为创建 Terraform 运行添加 4 个新的 HCP TF\u002FTFE 工具。参见 [#159](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F159)。\n* 为变量集添加 6 个新的 HCP TF\u002FTFE 工具。参见 [#174](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F174)。\n\n改进\n\n* 更改工具名称，使其更加一致。参见 [#121](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F121)。\n* 实现动态工具注册功能。参见 [#121](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F121)。\n* 实现分页工具。参见 [#121](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F121)。\n* 更新 `mark3labs\u002Fmcp-go` 和 `hashicorp\u002Ftfe-go` 的版本。参见 [#121](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F121)。\n* 向服务器添加说明文档。参见 [#156](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F156)。\n* 在 MCP 服务器的 HTTP 模式中实现 TLS 加密。参见 [#168](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F168)。\n* 在 MCP 服务器中实现速率限制功能。参见 [#155](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F155)。\n* 对某些工具启用显式批准机制。参见 [#172](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F172)。\n* 改进 README 文件，添加适用于 VSCode、VSCode Insiders 和 Cursor 的一键安装徽章。参见 [#173](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F173)。\n\n修复\n\n* 使用内置库而非字符串操作来修复路径问题。参见 [#143](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F143)。\n* 显式将破坏性注解设置为 false。参见 [#143](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F143)。\n\n安全\n\n* 重命名 TFE_SKIP_TLS_VERIFY 环境变量，并修复 GitHub Actions 的安全问题。参见 [#164](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F164)。\n* 将 Go 版本从 1.24.6 升级到 1.24.7。\n\n","2025-09-25T07:31:42",{"id":185,"version":186,"summary_zh":187,"released_at":188},62476,"v0.2.3","## 0.2.3（2025年8月13日）\n\n特性\n\n* 用户代理用于识别对 Terraform 注册表的调用。详见 [133](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F133)\n* 添加了问题模板、GitHub 工作流和 Go 版本。详见 [134](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F134)\n\n修复\n\n* 修复了 Makefile 中的 `run-http` 命令。详见 [132](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F132)","2025-08-13T19:41:55",{"id":190,"version":191,"summary_zh":192,"released_at":193},62477,"v0.2.2","## 0.2.2（2025年8月5日）\n\n功能\n\n* 新增2个工具，用于获取最新的提供商和模块版本。详见 [#122](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F122)\n\n改进\n\n* 重构代码库，将工具名称由驼峰命名法改为蛇形命名法。详见 [#118](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F118)\n* 调整工具名称，使其更加一致。详见 [#123](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F123)\n\n修复\n\n* 增强了提供商文档生成工具。详见 [#120](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F120)\n* 支持 StreamableHttp 端点的自定义配置，感谢 @sachinmalanki 的贡献。详见 [#116](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F116)\n\n","2025-08-06T02:37:06",{"id":195,"version":196,"summary_zh":197,"released_at":198},62478,"v0.2.1","## 0.2.1（2025年7月11日）\n\n安全\n\n* 增加了对 CORS 的支持（严格模式、开发模式、禁用），默认模式为严格模式。详见 [#108](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F108)\n* 增加了对 CORS 允许的源的支持，默认为空。详见 [#108](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F108)\n* 增加了对无状态可流式传输 HTTP 模式的支持，详见 [#108](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F108)\n\n改进\n\n* 改进了向注册表的 HTTP 重试机制。详见 [#109](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F109)","2025-07-12T01:03:30",{"id":200,"version":201,"summary_zh":202,"released_at":203},62479,"v0.2.0","## 0.2.0\n\n安全\n\n* 更新 Docker 基础镜像为 `scratch`，以生成更小、更安全的生产镜像。\n* 集成安全扫描（CodeQL、安全扫描器），并优化 CI 工作流，以提升代码质量和漏洞检测能力。\n* 将 Go 标准库版本更新至 1.24.4。\n\n功能\n\n* 新增支持将 Docker 镜像发布到 Amazon ECR。\n* 新增支持从 Terraform Registry 搜索和获取策略文档。\n* 增强了工具集，用于解析 Provider 文档、获取 Provider 文档、搜索 Module 以及从 Terraform Registry 获取 Module 详情。\n* 新增对可流式传输 HTTP 的支持，请参阅 [#99](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F99)。\n\n改进\n\n* 迁移到 `stretchr\u002Ftestify`，以实现更健壮的测试断言，并重构测试结构以提高可维护性。\n* 改进并扩展了 README 文件，增加了安装、使用和开发说明。\n* 优化了 GitHub Actions 工作流，以实现更可靠的构建、安全扫描和依赖管理。\n* 更新并固定了依赖项版本，以提升可靠性和安全性。\n* 将 `mcp-go` 从 0.27.0 升级至 0.32.0，以支持可流式传输的 HTTP，并更新了工具参数的访问方式。请参阅 [#99](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F99)。\n* 更新了端到端测试，使其同时支持 stdio 和 HTTP 模式；通过添加测试名称改进了测试报告，并优化了清理流程。请参阅 [#99](https:\u002F\u002Fgithub.com\u002Fhashicorp\u002Fterraform-mcp-server\u002Fpull\u002F99)。\n\n修复\n\n* 修复了函数名称，并改进了文档链接，以提升易用性。\n* 解决了 CI 安全扫描器及权限相关的问题。\n* 修正了 `go.mod` 中的 Go 模块名称，以确保兼容性。\n","2025-07-03T03:15:02",{"id":205,"version":206,"summary_zh":207,"released_at":208},62480,"v0.1.0","Release Terraform MCP Server v0.1.0\r\n\r\nFind the latest binaries at: https:\u002F\u002Freleases.hashicorp.com\u002Fterraform-mcp-server\u002F0.1.0\u002F\r\nDocker images: https:\u002F\u002Fhub.docker.com\u002Fr\u002Fhashicorp\u002Fterraform-mcp-server\u002Ftags\r\n","2025-05-19T19:27:50"]