Skip to main content
Glama
kocierik
by kocierik
README.md
[![MseeP.ai Security Assessment Badge](https://mseep.net/pr/kocierik-consul-mcp-server-badge.png)](https://mseep.ai/app/kocierik-consul-mcp-server)

# Consul MCP Server 🚀 

[![smithery badge](https://smithery.ai/badge/@kocierik/consul-mcp-server)](https://smithery.ai/server/@kocierik/consul-mcp-server)

A Model Context Protocol (MCP) server that provides access to Consul's functionality through a standardized interface.
<p align="center">
<a  href="https://glama.ai/mcp/servers/@kocierik/consul-mcp-server">
  <img width="380" height="200" src="https://glama.ai/mcp/servers/@kocierik/consul-mcp-server/badge" alt="Consul Server MCP server" />
</a>
<center>
<video src="https://github.com/user-attachments/assets/81bf7d70-e837-4c99-8312-2c85ccace1f4"></video>
</center>
</p>

## Features
The server provides access to the following Consul functionality:

### Service Management
- List running services
- Register and deregister services
- Get service information
- List catalog services
- Get catalog service information

### Health Checks
- Register health checks
- Deregister health checks
- Get health checks for services

### Key-Value Store
- Get values from KV store
- List keys in KV store
- Put values in KV store
- Delete keys from KV store

### Sessions
- List sessions
- Destroy sessions

### Events
- Fire events
- List events

### Prepared Queries
- Create prepared queries
- Execute prepared queries

### Status
- Get current leader
- Get current peers

### Agent
- Get agent members
- Get agent self information

### System
- Get system health service information

## Configuration

The server can be configured using environment variables:

- `CONSUL_HOST`: Consul server host (default: localhost)
- `CONSUL_PORT`: Consul server port (default: 8500)

## Usage

1. Start the server:
```bash
node build/index.js
```

2. The server will connect to Consul and make all functionality available through the MCP interface.

## Development

1. Install dependencies:
```bash
npm install
```

2. Build the project:
```bash
npm run build
```

3. Run inspector:
```bash
 npm run build && npx @modelcontextprotocol/inspector node build/index.js
```

## Claude config

```json
{
    "mcpServers": {
        "consul-mcp": {
            "command": "node",
            "args": [
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/consul-mcp-server/build/index.js"
            ]
        }
    }
}
```

### Installing via Smithery

To install Consul Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@kocierik/consul-mcp-server):

```bash
npx -y @smithery/cli install @kocierik/consul-mcp-server --client claude
```

## License

MIT

TDQS

B3/5.0

Scored across 24 tools

Disambiguation5/5

Each tool has a distinct purpose targeting specific Consul resources and actions, with clear boundaries between operations like KV store management (get-kv, put-kv, delete-kv), service registration/deregistration, health checks, catalog queries, and agent operations. No overlapping or ambiguous tool purposes exist.

Naming Consistency5/5

All tools follow a consistent verb-noun naming pattern with hyphens (e.g., get-kv, register-service, list-events), maintaining perfect uniformity throughout the set. The naming convention is predictable and enhances readability across all 24 tools.

Tool Count3/5

With 24 tools, the count is borderline high for a single server, potentially feeling heavy for agents to navigate. However, given Consul's broad scope (service discovery, KV store, health checks, events, sessions, etc.), it covers multiple domains comprehensively, making the count reasonable though on the upper edge of typical scoping.

Completeness5/5

The tool set provides complete coverage for Consul's core functionalities, including full CRUD operations for KV store (put, get, delete, list), service lifecycle (register, deregister, get, list), health checks (register, deregister, get), catalog queries, events, sessions, and agent management. No obvious gaps exist for the inferred domain.

Maintenance

ActivityInactive
ResponsivenessUnresponsive