# Council Mcp

> MCP server that gives Claude a review council - other LLMs fact-check responses before you see them

- **Type:** MCP server
- **Install:** `agentstack add mcp-alterego-987-council-mcp`
- **Verified:** Pending review
- **Seller:** [alterego-987](https://agentstack.voostack.com/s/alterego-987)
- **Installs:** 0
- **Category:** [AI & ML](https://agentstack.voostack.com/c/ai-and-ml)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [alterego-987](https://github.com/alterego-987)
- **Source:** https://github.com/alterego-987/council-mcp

## Install

```sh
agentstack add mcp-alterego-987-council-mcp
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Council MCP

An MCP server that gives Claude a **review council** — other LLMs that fact-check Claude's responses before you see them.

Every review is saved as a Markdown file so you can read, share, or audit the verification trail.

## How it works

1. You ask Claude a question
2. Claude drafts its answer
3. Claude calls the `council_review` tool, sending its draft to Gemini
4. Gemini extracts every factual claim and verifies each one
5. Gemini flags disputed claims, unverifiable info, and things needing manual check
6. Gemini identifies resources Claude missed
7. The full verification report is shown to you alongside Claude's corrected answer
8. A `.md` file with the complete review is saved to `reviews/` for your records

## Setup

### 1. Get a free Gemini API key

Go to [Google AI Studio](https://aistudio.google.com/app/apikey) and create a key. The free tier is sufficient to get started.

### 2. Clone and install

```bash
git clone https://github.com/alterego-987/council-mcp.git
cd council-mcp
uv sync
```

> Don't have `uv`? Install it: `curl -LsSf https://astral.sh/uv/install.sh | sh`

### 3. Add to Claude Code

Add the following to your `~/.claude.json` under `mcpServers`:

```json
{
  "council": {
    "command": "uv",
    "args": ["run", "--directory", "/path/to/council-mcp", "python", "-m", "council_mcp.server"],
    "env": {
      "GEMINI_API_KEY": "your-key-here"
    },
    "type": "stdio"
  }
}
```

Replace `/path/to/council-mcp` with the actual path where you cloned the repo.

### 4. Restart Claude Code

Start a new session. Claude will now have access to `council_review` and `council_status` tools. For complex or technical responses, Claude will automatically send its draft through Gemini for verification.

> **Note:** The council currently works in the **Code** tab of the Claude desktop app. Chat and Cowork tabs only support cloud-based MCP integrations and do not load local stdio servers.

## Available tools

| Tool | Description |
|------|-------------|
| `council_review` | Send Claude's response for fact-checking. Saves a `.md` review file. |
| `council_status` | Check which reviewers are online |

## Review files

Every call to `council_review` saves a timestamped Markdown file to the `reviews/` directory (gitignored by default). Each file contains:

- The original user query
- Claude's draft response
- Gemini's full verification report (claim-by-claim)
- Missed resources and overall assessment

Files are named like `2026-04-04_15-20-03_your-question-slug.md`.

You can customize the output directory with the `COUNCIL_REVIEWS_DIR` environment variable.

## Choosing a Gemini model

Set the `GEMINI_MODEL` environment variable in your MCP config to use a different model:

```json
"env": {
  "GEMINI_API_KEY": "your-key-here",
  "GEMINI_MODEL": "gemini-3-flash-preview"
}
```

### Free tier models (no billing required)

| Model | Best for |
|-------|----------|
| `gemini-3-flash-preview` | Best free option — latest generation |
| `gemini-2.5-flash` | Stable, reliable fallback |
| `gemini-2.5-flash-lite` | Fastest, lightest |

### Paid models (require billing in Google AI Studio)

| Model | Best for |
|-------|----------|
| `gemini-3.1-pro-preview` | Highest quality reviews |
| `gemini-2.5-pro` | Strong pro-tier alternative |

> Web search grounding is NOT available on the free tier. Gemini reviews based on its training knowledge and will flag claims it can't verify as `UNVERIFIABLE` or `NEEDS_MANUAL_CHECK`.

## Architecture

```
council-mcp/
  src/council_mcp/
    server.py          # MCP server — tool definitions, review file saving
    prompts.py         # System/user prompts for fact-checking
    reviewers/
      base.py          # BaseReviewer ABC, ReviewResult, ClaimVerification
      gemini.py        # Gemini reviewer implementation
  reviews/             # Saved review reports (gitignored)
```

## Adding more reviewers

The system is modular. To add a new reviewer (ChatGPT, Perplexity, Grok, etc.):

1. Create a new file in `src/council_mcp/reviewers/` (e.g., `chatgpt.py`)
2. Subclass `BaseReviewer` and implement:
   - `name` property — human-readable name
   - `review()` method — sends the query/response and returns a `ReviewResult`
   - `is_available()` method — checks if the API is reachable
3. Add the reviewer to `_build_reviewers()` in `server.py`
4. Add the API key to your MCP config's `env` block

Example skeleton:

```python
class ChatGPTReviewer(BaseReviewer):
    @property
    def name(self) -> str:
        return "ChatGPT (gpt-4o)"

    async def review(self, user_query: str, claude_response: str) -> ReviewResult:
        # Call OpenAI API, parse response, return ReviewResult
        ...

    async def is_available(self) -> bool:
        # Ping the API
        ...
```

## Contributing

PRs are welcome! Some ideas:

- **New reviewers** — Add ChatGPT, Perplexity, Grok, or other LLMs as reviewers
- **Improved parsing** — Make the Gemini response parser more robust
- **Web search integration** — Add Perplexity or Tavily for real-time fact-checking with live sources
- **Review dashboard** — Build a simple UI to browse saved review files
- **Configurable prompts** — Allow users to customize the fact-checking prompt
- **Confidence scoring** — Aggregate reviewer scores into a single confidence metric

### How to contribute

1. Fork the repo
2. Create a feature branch (`git checkout -b feature/my-feature`)
3. Make your changes
4. Submit a PR with a clear description of what you added

## License

MIT

## Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [alterego-987](https://github.com/alterego-987)
- **Source:** [alterego-987/council-mcp](https://github.com/alterego-987/council-mcp)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** yes
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: flagged — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/mcp-alterego-987-council-mcp
- Seller: https://agentstack.voostack.com/s/alterego-987
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
