|
| 1 | +{ |
| 2 | + "$schema": "../schemas/server-definition.schema.json", |
| 3 | + "id": "com.consul-mcp-docker", |
| 4 | + "name": "Consul (Docker)", |
| 5 | + "alias": "consul", |
| 6 | + "description": "Connect to HashiCorp Consul via Docker for service discovery, health checks, key-value configuration, and service mesh operations. Query the catalog, inspect node and service health, read and write KV data, and manage ACLs in an isolated container.", |
| 7 | + "logo": "https://avatars.githubusercontent.com/u/761456?v=4", |
| 8 | + "schema_version": "2.1", |
| 9 | + "categories": [ |
| 10 | + "developer-tools" |
| 11 | + ], |
| 12 | + "tags": [ |
| 13 | + "consul", |
| 14 | + "hashicorp", |
| 15 | + "service-discovery", |
| 16 | + "service-mesh", |
| 17 | + "key-value", |
| 18 | + "health-checks", |
| 19 | + "acl", |
| 20 | + "devops", |
| 21 | + "docker" |
| 22 | + ], |
| 23 | + "transport": { |
| 24 | + "type": "stdio", |
| 25 | + "command": "docker", |
| 26 | + "args": [ |
| 27 | + "run", |
| 28 | + "-i", |
| 29 | + "--rm", |
| 30 | + "-e", |
| 31 | + "CONSUL_HTTP_ADDR", |
| 32 | + "-e", |
| 33 | + "CONSUL_HTTP_TOKEN", |
| 34 | + "hashicorp/consul-mcp-server:latest" |
| 35 | + ], |
| 36 | + "env": { |
| 37 | + "CONSUL_HTTP_ADDR": "${input:CONSUL_HTTP_ADDR}", |
| 38 | + "CONSUL_HTTP_TOKEN": "${input:CONSUL_HTTP_TOKEN}" |
| 39 | + }, |
| 40 | + "metadata": { |
| 41 | + "inputs": [ |
| 42 | + { |
| 43 | + "id": "CONSUL_HTTP_ADDR", |
| 44 | + "label": "Consul HTTP Address", |
| 45 | + "description": "Base URL of your Consul HTTP API. Use host.docker.internal instead of localhost to reach a Consul agent running on the host machine (e.g., http://host.docker.internal:8500). Defaults to http://127.0.0.1:8500.", |
| 46 | + "type": "url", |
| 47 | + "required": true, |
| 48 | + "secret": false, |
| 49 | + "placeholder": "http://localhost:8500", |
| 50 | + "default": "http://localhost:8500" |
| 51 | + }, |
| 52 | + { |
| 53 | + "id": "CONSUL_HTTP_TOKEN", |
| 54 | + "label": "Consul ACL Token", |
| 55 | + "description": "Consul ACL token used to authenticate with the HTTP API. Only required when ACLs are enabled on your Consul cluster; the token's policies determine which operations are permitted. Leave empty if ACLs are disabled.", |
| 56 | + "type": "text", |
| 57 | + "required": false, |
| 58 | + "secret": true, |
| 59 | + "placeholder": "********-****-****-****-************", |
| 60 | + "obtain": { |
| 61 | + "url": "https://developer.hashicorp.com/consul/commands/acl/token/create", |
| 62 | + "instructions": "1. Ensure ACLs are enabled on your Consul cluster\n2. Create a token scoped to the policies you need: consul acl token create -policy-name=<policy>\n3. Copy the SecretID value from the output", |
| 63 | + "button_label": "Create Token" |
| 64 | + } |
| 65 | + } |
| 66 | + ] |
| 67 | + } |
| 68 | + }, |
| 69 | + "auth": { |
| 70 | + "type": "optional_api_key", |
| 71 | + "instructions": "No token is required when Consul ACLs are disabled. When ACLs are enabled, provide a CONSUL_HTTP_TOKEN whose policies grant access to the operations you want to perform. Create one with `consul acl token create`." |
| 72 | + }, |
| 73 | + "contributor": { |
| 74 | + "name": "HashiCorp", |
| 75 | + "github": "hashicorp", |
| 76 | + "url": "https://www.consul.io" |
| 77 | + }, |
| 78 | + "links": { |
| 79 | + "repository": "https://github.com/hashicorp/consul-mcp-server", |
| 80 | + "homepage": "https://www.consul.io", |
| 81 | + "documentation": "https://github.com/hashicorp/consul-mcp-server#readme" |
| 82 | + }, |
| 83 | + "platforms": [ |
| 84 | + "all" |
| 85 | + ], |
| 86 | + "capabilities": { |
| 87 | + "tools": true, |
| 88 | + "resources": false, |
| 89 | + "prompts": false, |
| 90 | + "read_only_mode": false |
| 91 | + }, |
| 92 | + "changelog_url": "https://github.com/hashicorp/consul-mcp-server/releases" |
| 93 | +} |
0 commit comments