loading…
Search for a command to run...
loading…
Connect AI agents to the Counsel API for strategic reasoning, multi-perspective debate analysis, and interactive advisory sessions.
Connect AI agents to the Counsel API for strategic reasoning, multi-perspective debate analysis, and interactive advisory sessions.
npm version License: MIT Node.js Version
An open-source Model Context Protocol (MCP) server that connects AI agents to the Counsel API for strategic reasoning and multi-perspective analysis.
Connect instantly to the hosted Counsel MCP server - no installation required:
http://counsel-mcp.getmason.dev/mcp
For MCP clients that support HTTP transport, simply add:
{
"mcpServers": {
"counsel": {
"url": "http://counsel-mcp.getmason.dev/mcp",
"transport": "http"
}
}
}
OAuth authentication is handled automatically by your MCP client.
Run your own instance of the Counsel MCP server locally.
Add to your claude_desktop_config.json:
~/Library/Application Support/Claude/claude_desktop_config.json{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
%APPDATA%\Claude\claude_desktop_config.json{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
claude mcp add counsel -- npx -y counsel-mcp-server start
Or manually add to your MCP settings:
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
Add to your Cursor MCP configuration (.cursor/mcp.json in your project or global settings):
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
Add to your Windsurf MCP configuration:
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
Add to your VS Code settings (settings.json):
{
"mcp.servers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
The server supports two transport modes. Choose based on your client's capabilities:
Most MCP clients use STDIO transport. Configure with:
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"],
"env": {
"COUNSEL_API_KEY": "your_api_key_here"
}
}
}
}
For clients that support HTTP transport with OAuth 2.0, run the server separately:
# Start the HTTP server
npx -y counsel-mcp-server http --port 3000
This starts an HTTP server with:
http://localhost:3000/mcphttp://localhost:3000/.well-known/oauth-authorization-serverThen configure your client to connect:
{
"mcpServers": {
"counsel": {
"url": "http://localhost:3000/mcp",
"transport": "http"
}
}
}
HTTP mode uses OAuth 2.0 with automatic token management - no API key required.
| Feature | STDIO Mode | HTTP Mode |
|---|---|---|
| Command | npx -y counsel-mcp-server start |
npx -y counsel-mcp-server http |
| Auth | API key via env var | OAuth 2.0 (automatic) |
| Setup | Single config | Run server + configure client |
| Best for | Claude Desktop, Cursor, VS Code | Web clients, shared servers |
The server supports two authentication modes:
Set the COUNSEL_API_KEY environment variable with your API key from counsel.getmason.dev:
export COUNSEL_API_KEY=your_api_key_here
Or add it to your MCP client configuration:
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"],
"env": {
"COUNSEL_API_KEY": "your_api_key_here"
}
}
}
}
When running in HTTP mode (npx -y counsel-mcp-server http), authentication is handled automatically through OAuth 2.0:
No manual API key required in HTTP mode - your MCP client handles the entire OAuth flow.
The server exposes standard OAuth 2.0 endpoints:
| Endpoint | Description |
|---|---|
/.well-known/oauth-authorization-server |
OAuth metadata discovery |
/authorize |
Authorization endpoint |
/token |
Token exchange endpoint |
/register |
Dynamic client registration |
start_consultationStart a new strategic consultation (debate) to analyze a complex question with multiple perspectives.
| Parameter | Type | Required | Description |
|---|---|---|---|
question |
string | Yes | The core question to analyze |
context |
string | No | Additional context about the situation |
mode |
enum | No | Depth of analysis: quick, standard (default), deep |
stakeholders |
string[] | No | Key stakeholders to consider |
Example:
Start a consultation about "Should we migrate our monolith to microservices?"
with context about our 50-person engineering team and mode set to deep
get_consultation_statusCheck the status of an ongoing consultation.
| Parameter | Type | Required | Description |
|---|---|---|---|
debate_id |
string | Yes | The ID of the consultation |
get_consultation_reportRetrieve the final synthesis report from a completed consultation.
| Parameter | Type | Required | Description |
|---|---|---|---|
debate_id |
string | Yes | The ID of the consultation |
list_consultationsList your past consultations.
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
number | No | Number of results (default: 10) |
sharpen_questionRefine and improve a strategic question before starting a consultation.
| Parameter | Type | Required | Description |
|---|---|---|---|
question |
string | Yes | The question to refine |
context |
string | No | Additional context |
Example:
Sharpen this question: "Is AI good for our company?"
consult_advisorStart an interactive advisor session for brainstorming or scoping problems.
| Parameter | Type | Required | Description |
|---|---|---|---|
question |
string | Yes | The initial topic or question |
Use Counsel to analyze: "Should we expand into the European market in 2025?"
Consider these stakeholders: CEO, CFO, Head of Sales, Legal
Use deep analysis mode
Use the sharpen_question tool to improve this question:
"How do we fix our culture?"
Context: We're a 200-person startup experiencing rapid growth
Check the status of consultation abc-123-def
| Variable | Default | Description |
|---|---|---|
COUNSEL_API_URL |
https://counsel.getmason.dev |
Counsel API base URL |
PORT |
3000 |
Server port (HTTP mode) |
# STDIO mode (default) - for most MCP clients
npx -y counsel-mcp-server start
# HTTP mode - for clients supporting OAuth
npx -y counsel-mcp-server http [options]
HTTP Options:
-p, --port <port> Port to listen on (default: 3000)
--host <host> Host to bind to (default: localhost)
Ensure the MCP server is properly configured in your client. Restart your client after adding the configuration.
If running in HTTP mode, ensure:
npx counsel-mcp-server start)# Check Node.js version (requires 18+)
node --version
# Try running directly to see errors
npx counsel-mcp-server start
For verbose logging, check your MCP client's logs or run the server directly in a terminal to see output.
git clone https://github.com/mercurialsolo/counsel-mcp.git
cd counsel-mcp-server
npm install
npm run build
npm run build # Compile TypeScript
npm run dev # Watch mode
npm run start # Run server
npm test # Run tests
npm run lint # Type check
npm run security:check # Scan staged files for secrets
npm run security:check:all # Scan all files for secrets
This project includes automated secret detection:
See CONTRIBUTING.md for details.
src/
├── index.ts # HTTP server, OAuth proxy, MCP transport
├── client.ts # API client with request-scoped auth
├── config.ts # Environment configuration
└── tools/
├── debates.ts # Consultation tools
└── advisor.ts # Advisor session tools
We welcome contributions! See CONTRIBUTING.md for guidelines.
git checkout -b feature/your-featurenpm test to ensure tests passMIT License - see LICENSE for details.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mercurialsolo-counsel-mcp": {
"command": "npx",
"args": []
}
}
}