Skip to main content
Glama
lbds137

Gemini MCP Server

by lbds137

Council MCP Server

A Model Context Protocol (MCP) server that enables Claude to collaborate with multiple AI models via OpenRouter. Access 100+ models from Google, Anthropic, OpenAI, Meta, Mistral, and more.

Features

  • Multi-Model Support: Access 100+ models via OpenRouter (Gemini, GPT, Claude, Llama, Mistral, etc.)

  • Dynamic Model Discovery: List and filter available models by provider, capability, or pricing

  • Per-Request Model Override: Use different models for different tasks

  • Multiple Collaboration Tools: Code review, brainstorming, test generation, explanations

  • Response Caching: Automatic caching for repeated queries

Related MCP server: Gemini MCP Server

Quick Start

1. Prerequisites

2. Installation

# Clone the repository
git clone https://github.com/lbds137/council-mcp-server.git
cd council-mcp-server

# Install dependencies
pip install -r requirements.txt

# Copy and configure environment
cp .env.example .env
# Edit .env and add your OPENROUTER_API_KEY

3. Configuration

Edit .env to configure:

# Your OpenRouter API key (required)
OPENROUTER_API_KEY=sk-or-...

# Model configuration (optional - defaults shown)
COUNCIL_DEFAULT_MODEL=google/gemini-3-pro-preview
COUNCIL_CACHE_TTL=3600
COUNCIL_TIMEOUT=600000

4. Register with Claude

# Install to MCP location
./scripts/install.sh

# Or manually register
claude mcp add council python3 ~/.claude-mcp-servers/council/launcher.py

Available Tools

Core Tools

Tool

Description

ask

General questions and problem-solving assistance

code_review

Code review feedback (security, performance, best practices)

brainstorm

Collaborative brainstorming for architecture and design

test_cases

Generate comprehensive test scenarios

explain

Clear explanations of complex code or concepts

synthesize_perspectives

Combine multiple viewpoints into a coherent summary

Model Management

Tool

Description

server_info

Check server status and current model

list_models

List available models with filtering

set_model

Change the active model for subsequent requests

Model Override

All tools support an optional model parameter to use a specific model:

# Use Claude for code review
mcp__council__code_review(
    code="def hello(): print('world')",
    focus="security",
    model="anthropic/claude-3-opus"
)

# Use GPT-4 for brainstorming
mcp__council__brainstorm(
    topic="API design patterns",
    model="openai/gpt-4-turbo"
)

Google Gemini (Default)

COUNCIL_DEFAULT_MODEL=google/gemini-3-pro-preview

Anthropic Claude

COUNCIL_DEFAULT_MODEL=anthropic/claude-3.5-sonnet

OpenAI GPT-4

COUNCIL_DEFAULT_MODEL=openai/gpt-4-turbo

Meta Llama (Free)

COUNCIL_DEFAULT_MODEL=meta-llama/llama-3.3-70b-instruct:free

Development

Project Structure

council-mcp-server/
├── src/council/           # Main source code
│   ├── main.py           # CouncilMCPServer entry point
│   ├── manager.py        # ModelManager (OpenRouter)
│   ├── providers/        # LLM provider implementations
│   ├── discovery/        # Model discovery and filtering
│   ├── tools/            # MCP tool implementations
│   ├── core/             # Registry and orchestrator
│   └── services/         # Cache and memory
├── tests/                # Test suite
├── scripts/              # Installation scripts
├── server.py             # Bundled single-file server
├── launcher.py           # Launcher with venv support
├── CLAUDE.md            # Claude Code instructions
└── README.md            # This file

Running Tests

# Create virtual environment
python -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run tests
pytest tests/ -v

Building the Bundle

# Generate single-file server.py
python scripts/bundler.py

# Deploy to MCP location
./scripts/install.sh

Updating

To update your local MCP installation after making changes:

./scripts/install.sh

Then restart Claude Desktop/Code.

Troubleshooting

Server not found

# Check registration
claude mcp list

# Re-register if needed
./scripts/install.sh

API Key Issues

# Verify environment variable
echo $OPENROUTER_API_KEY

# Test with list_models tool
mcp__council__list_models(limit=5)

Model Not Available

Use list_models to find available models:

mcp__council__list_models(provider="google")

Version History

  • v4.0.0: Council - Multi-model support via OpenRouter

  • v3.0.0: Modular architecture with bundler

  • v2.0.0: Dual-model support with fallback

  • v1.0.0: Initial Gemini integration

License

MIT License - see LICENSE file for details.

Acknowledgments

  • Built for Claude using the Model Context Protocol

  • Powered by OpenRouter for multi-model access

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lbds137/gemini-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server