kontra
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@kontramode on. Should we use Rust or Go for our backend?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Kontra
Kontra adds a challenger to your AI chat. You take a position, and one or more AI debaters push back. They ask questions, concede good points, and argue until the debate is settled. Then your assistant gives you a short, clear summary and a final answer.
It runs as an MCP server. You bring your own API key.
How it works
You turn on kontra mode and ask a question.
Your assistant writes its position and sends it to the debaters.
Each debater replies in character with a stance and either "keep going" or "settled".
Your assistant answers their points and runs more rounds until everyone is settled.
Your assistant replies with a tight summary: the verdict, the crux, what changed, and the bottom line.
The debate runs for as many rounds as it needs. A round limit stops it from running forever.
Related MCP server: brainstorm-mcp
Setup
You need Node 18 or newer and at least one API key.
Add Kontra to your MCP client config (for example Claude Desktop or Claude Code):
{
"mcpServers": {
"kontra": {
"command": "npx",
"args": ["-y", "kontra-mcp"],
"env": { "ANTHROPIC_API_KEY": "sk-ant-..." }
}
}
}Restart your client. That is it. Out of the box you get one debater (a ruthless contrarian on Claude Opus 4.8).
If you forget the key, Kontra tells your assistant exactly what to add, so you get prompted right in the chat.
Your keys stay in your own config and are never sent through the chat.
Use it
Say "kontra mode on" and ask something:
kontra mode on. Should we rewrite the service in Rust or stay on Go?
Want to change the setup? Just ask in plain words. Your changes are saved and used for every debate after that:
Set up three debaters: a security engineer on Claude, a product lead on GPT, and a cost analyst on Gemini. Max 4 rounds.
You can set and save:
What | Example |
Personalities | "make the second one a blunt CFO" |
Number of debaters | "add a third debater" (up to 5) |
Provider and model | "put the analyst on gpt-4o" |
Max rounds | "cap it at 3 rounds" (up to 12) |
Providers
Pick any debater's provider. Set the matching key in your config.
Provider | API key | Example models |
anthropic |
| claude-opus-4-8 (default), claude-sonnet-4-6 |
openai |
| gpt-4o, gpt-4o-mini |
| gemini-1.5-pro, gemini-1.5-flash |
Tools
debate_status: shows your saved debaters, models, round limit, and which keys are set.configure_debate: changes and saves the setup.challenge: runs one round of debate.
Your assistant calls these for you. You just talk to it.
Where settings are saved
Kontra saves your setup to ~/.kontra/config.json. Point it somewhere else with the KONTRA_CONFIG environment variable.
Develop
git clone https://github.com/a1ex-bb/kontra.git
cd kontra
npm install
npm run buildTry the tools in a browser with the MCP Inspector:
ANTHROPIC_API_KEY=sk-ant-... npm run inspectLicense
MIT
This server cannot be installed
Maintenance
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/a1ex-bb/kontra'
If you have feedback or need assistance with the MCP directory API, please join our Discord server