Install
$ agentstack add mcp-mercurialsolo-counsel-mcp ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
Counsel MCP Server
[](https://www.npmjs.com/package/counsel-mcp-server) [](https://opensource.org/licenses/MIT) [](https://nodejs.org)
An open-source Model Context Protocol (MCP) server that connects AI agents to the Counsel API for strategic reasoning and multi-perspective analysis.
Features
- Hosted & Self-Hosted - Use the hosted server instantly or run your own instance
- Strategic Reasoning - Access Counsel's debate and multi-perspective reasoning engines
- Advisor Sessions - Run interactive intake and profile tuning sessions
- Native OAuth 2.0 - Standard MCP authentication handled automatically by clients
- Dual Transport - STDIO for local clients, HTTP for web clients and shared servers
Table of Contents
- [Quick Start (Hosted)](#quick-start-hosted)
- [Installation (Self-Hosted)](#installation-self-hosted)
- [Claude Desktop](#claude-desktop)
- [Claude Code (CLI)](#claude-code-cli)
- [Cursor](#cursor)
- [Windsurf](#windsurf)
- [VS Code with Copilot](#vs-code-with-copilot)
- [Other MCP Clients](#other-mcp-clients)
- [Authentication](#authentication)
- [Available Tools](#available-tools)
- [Usage Examples](#usage-examples)
- [Configuration](#configuration)
- [Troubleshooting](#troubleshooting)
- [Development](#development)
- [Contributing](#contributing)
- [License](#license)
Quick Start (Hosted)
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.
Installation (Self-Hosted)
Run your own instance of the Counsel MCP server locally.
Prerequisites
- Node.js 18+ installed on your system
- A Counsel account at counsel.getmason.dev
Claude Desktop
Add to your claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claudedesktopconfig.json
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
Windows: %APPDATA%\Claude\claudedesktopconfig.json
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
Claude Code (CLI)
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"]
}
}
}
Cursor
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"]
}
}
}
Windsurf
Add to your Windsurf MCP configuration:
{
"mcpServers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
VS Code with Copilot
Add to your VS Code settings (settings.json):
{
"mcp.servers": {
"counsel": {
"command": "npx",
"args": ["-y", "counsel-mcp-server", "start"]
}
}
}
Other MCP Clients
The server supports two transport modes. Choose based on your client's capabilities:
STDIO Mode (Default)
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"
}
}
}
}
HTTP Mode with OAuth
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:
- MCP endpoint:
http://localhost:3000/mcp - OAuth discovery:
http://localhost:3000/.well-known/oauth-authorization-server
Then 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.
Transport Comparison
| 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 |
Authentication
The server supports two authentication modes:
STDIO Mode (Default)
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"
}
}
}
}
HTTP Mode (OAuth 2.0)
When running in HTTP mode (npx -y counsel-mcp-server http), authentication is handled automatically through OAuth 2.0:
- When you first use a Counsel tool, your MCP client will prompt for authentication
- You'll be redirected to sign in with your Counsel account
- After authorization, tokens are managed automatically
No manual API key required in HTTP mode - your MCP client handles the entire OAuth flow.
OAuth Endpoints (HTTP Mode)
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 |
Available Tools
start_consultation
Start 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_status
Check the status of an ongoing consultation.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | debate_id | string | Yes | The ID of the consultation |
get_consultation_report
Retrieve the final synthesis report from a completed consultation.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | debate_id | string | Yes | The ID of the consultation |
list_consultations
List your past consultations.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | limit | number | No | Number of results (default: 10) |
sharpen_question
Refine 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_advisor
Start an interactive advisor session for brainstorming or scoping problems.
| Parameter | Type | Required | Description | |-----------|------|----------|-------------| | question | string | Yes | The initial topic or question |
Usage Examples
Strategic Decision Making
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
Question Refinement
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
Checking Consultation Progress
Check the status of consultation abc-123-def
Configuration
Environment Variables
| Variable | Default | Description | |----------|---------|-------------| | COUNSEL_API_URL | https://counsel.getmason.dev | Counsel API base URL | | PORT | 3000 | Server port (HTTP mode) |
CLI Commands
# 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 to listen on (default: 3000)
--host Host to bind to (default: localhost)
Troubleshooting
"Tool not found" Error
Ensure the MCP server is properly configured in your client. Restart your client after adding the configuration.
Authentication Issues
- Check that you have a valid Counsel account
- Try removing and re-adding the MCP server configuration
- Clear your client's MCP cache if available
Connection Refused
If running in HTTP mode, ensure:
- The server is running (
npx counsel-mcp-server start) - The port isn't blocked by a firewall
- No other process is using the same port
Server Not Starting
# Check Node.js version (requires 18+)
node --version
# Try running directly to see errors
npx counsel-mcp-server start
Debug Mode
For verbose logging, check your MCP client's logs or run the server directly in a terminal to see output.
Development
Prerequisites
- Node.js 18+
- npm 9+
Setup
git clone https://github.com/mercurialsolo/counsel-mcp.git
cd counsel-mcp-server
npm install
npm run build
Commands
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
Security
This project includes automated secret detection:
- Pre-commit hook: Automatically scans staged files before each commit
- CI integration: Security checks run on all pull requests
- Pattern detection: AWS keys, GitHub tokens, API keys, private keys, etc.
See [CONTRIBUTING.md](CONTRIBUTING.md#security-checks) for details.
Project Structure
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
Contributing
We welcome contributions! See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
Quick Start
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and add tests
- Run
npm testto ensure tests pass - Submit a pull request
License
MIT License - see [LICENSE](LICENSE) for details.
Links
- Counsel Platform - Strategic reasoning platform
- MCP Specification - Model Context Protocol documentation
- GitHub Issues - Report bugs or request features
- GitHub Discussions - Ask questions
Source & license
This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: mercurialsolo
- Source: mercurialsolo/counsel-mcp
- License: MIT
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.