counsel-mcp-server 0.1.1 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +67 -18
- package/dist/index.js +98 -9
- package/dist/index.js.map +1 -1
- package/package.json +7 -3
package/README.md
CHANGED
|
@@ -150,14 +150,18 @@ For any MCP-compatible client, configure with:
|
|
|
150
150
|
- **Args**: `["-y", "counsel-mcp-server", "start"]`
|
|
151
151
|
- **Transport**: `stdio` (default) or `http` at `http://localhost:3000/mcp`
|
|
152
152
|
|
|
153
|
-
#### HTTP Mode (Advanced)
|
|
153
|
+
#### HTTP Mode with OAuth (Advanced)
|
|
154
154
|
|
|
155
|
-
|
|
155
|
+
For clients that support HTTP transport with OAuth 2.0, run the server in HTTP mode:
|
|
156
156
|
|
|
157
157
|
```bash
|
|
158
|
-
npx counsel-mcp-server
|
|
158
|
+
npx -y counsel-mcp-server http --port 3000
|
|
159
159
|
```
|
|
160
160
|
|
|
161
|
+
This starts an HTTP server with:
|
|
162
|
+
- **MCP endpoint**: `http://localhost:3000/mcp`
|
|
163
|
+
- **OAuth discovery**: `http://localhost:3000/.well-known/oauth-authorization-server`
|
|
164
|
+
|
|
161
165
|
Then configure your client with:
|
|
162
166
|
```json
|
|
163
167
|
{
|
|
@@ -170,19 +174,48 @@ Then configure your client with:
|
|
|
170
174
|
}
|
|
171
175
|
```
|
|
172
176
|
|
|
177
|
+
The HTTP mode proxies OAuth requests to Counsel's authorization server, enabling standard OAuth 2.0 authentication without manual API key configuration.
|
|
178
|
+
|
|
173
179
|
---
|
|
174
180
|
|
|
175
181
|
## Authentication
|
|
176
182
|
|
|
177
|
-
|
|
183
|
+
The server supports two authentication modes:
|
|
184
|
+
|
|
185
|
+
### STDIO Mode (Default)
|
|
186
|
+
|
|
187
|
+
Set the `COUNSEL_API_KEY` environment variable with your API key from [counsel.getmason.dev](https://counsel.getmason.dev):
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
export COUNSEL_API_KEY=your_api_key_here
|
|
191
|
+
```
|
|
192
|
+
|
|
193
|
+
Or add it to your MCP client configuration:
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"mcpServers": {
|
|
197
|
+
"counsel": {
|
|
198
|
+
"command": "npx",
|
|
199
|
+
"args": ["-y", "counsel-mcp-server", "start"],
|
|
200
|
+
"env": {
|
|
201
|
+
"COUNSEL_API_KEY": "your_api_key_here"
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
### HTTP Mode (OAuth 2.0)
|
|
209
|
+
|
|
210
|
+
When running in HTTP mode (`npx -y counsel-mcp-server http`), authentication is handled automatically through OAuth 2.0:
|
|
178
211
|
|
|
179
212
|
1. When you first use a Counsel tool, your MCP client will prompt for authentication
|
|
180
213
|
2. You'll be redirected to sign in with your Counsel account
|
|
181
214
|
3. After authorization, tokens are managed automatically
|
|
182
215
|
|
|
183
|
-
**No manual
|
|
216
|
+
**No manual API key required** in HTTP mode - your MCP client handles the entire OAuth flow.
|
|
184
217
|
|
|
185
|
-
### OAuth Endpoints
|
|
218
|
+
### OAuth Endpoints (HTTP Mode)
|
|
186
219
|
|
|
187
220
|
The server exposes standard OAuth 2.0 endpoints:
|
|
188
221
|
|
|
@@ -299,14 +332,18 @@ Check the status of consultation abc-123-def
|
|
|
299
332
|
| `COUNSEL_API_URL` | `https://counsel.getmason.dev` | Counsel API base URL |
|
|
300
333
|
| `PORT` | `3000` | Server port (HTTP mode) |
|
|
301
334
|
|
|
302
|
-
### CLI
|
|
335
|
+
### CLI Commands
|
|
303
336
|
|
|
304
337
|
```bash
|
|
305
|
-
|
|
338
|
+
# STDIO mode (default) - for most MCP clients
|
|
339
|
+
npx -y counsel-mcp-server start
|
|
340
|
+
|
|
341
|
+
# HTTP mode - for clients supporting OAuth
|
|
342
|
+
npx -y counsel-mcp-server http [options]
|
|
306
343
|
|
|
307
|
-
Options:
|
|
344
|
+
HTTP Options:
|
|
308
345
|
-p, --port <port> Port to listen on (default: 3000)
|
|
309
|
-
|
|
346
|
+
--host <host> Host to bind to (default: localhost)
|
|
310
347
|
```
|
|
311
348
|
|
|
312
349
|
---
|
|
@@ -356,7 +393,7 @@ For verbose logging, check your MCP client's logs or run the server directly in
|
|
|
356
393
|
### Setup
|
|
357
394
|
|
|
358
395
|
```bash
|
|
359
|
-
git clone https://github.com/
|
|
396
|
+
git clone https://github.com/mercurialsolo/counsel-mcp.git
|
|
360
397
|
cd counsel-mcp-server
|
|
361
398
|
npm install
|
|
362
399
|
npm run build
|
|
@@ -365,13 +402,25 @@ npm run build
|
|
|
365
402
|
### Commands
|
|
366
403
|
|
|
367
404
|
```bash
|
|
368
|
-
npm run build
|
|
369
|
-
npm run dev
|
|
370
|
-
npm run start
|
|
371
|
-
npm test
|
|
372
|
-
npm run lint
|
|
405
|
+
npm run build # Compile TypeScript
|
|
406
|
+
npm run dev # Watch mode
|
|
407
|
+
npm run start # Run server
|
|
408
|
+
npm test # Run tests
|
|
409
|
+
npm run lint # Type check
|
|
410
|
+
npm run security:check # Scan staged files for secrets
|
|
411
|
+
npm run security:check:all # Scan all files for secrets
|
|
373
412
|
```
|
|
374
413
|
|
|
414
|
+
### Security
|
|
415
|
+
|
|
416
|
+
This project includes automated secret detection:
|
|
417
|
+
|
|
418
|
+
- **Pre-commit hook**: Automatically scans staged files before each commit
|
|
419
|
+
- **CI integration**: Security checks run on all pull requests
|
|
420
|
+
- **Pattern detection**: AWS keys, GitHub tokens, API keys, private keys, etc.
|
|
421
|
+
|
|
422
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md#security-checks) for details.
|
|
423
|
+
|
|
375
424
|
### Project Structure
|
|
376
425
|
|
|
377
426
|
```
|
|
@@ -410,5 +459,5 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
410
459
|
|
|
411
460
|
- [Counsel Platform](https://counsel.getmason.dev) - Strategic reasoning platform
|
|
412
461
|
- [MCP Specification](https://modelcontextprotocol.io) - Model Context Protocol documentation
|
|
413
|
-
- [GitHub Issues](https://github.com/
|
|
414
|
-
- [GitHub Discussions](https://github.com/
|
|
462
|
+
- [GitHub Issues](https://github.com/mercurialsolo/counsel-mcp/issues) - Report bugs or request features
|
|
463
|
+
- [GitHub Discussions](https://github.com/mercurialsolo/counsel-mcp/discussions) - Ask questions
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
|
+
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
4
5
|
import { Command } from "commander";
|
|
6
|
+
import { randomUUID } from "crypto";
|
|
5
7
|
import { config } from "./config.js";
|
|
6
8
|
import { TOOLS as DEBATE_TOOLS } from "./tools/debates.js";
|
|
7
9
|
import { TOOLS as ADVISOR_TOOLS } from "./tools/advisor.js";
|
|
@@ -9,14 +11,14 @@ const program = new Command();
|
|
|
9
11
|
program
|
|
10
12
|
.name("counsel-mcp")
|
|
11
13
|
.description("Counsel MCP Server")
|
|
12
|
-
.version("0.1.
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
.version("0.1.3");
|
|
15
|
+
/**
|
|
16
|
+
* Create and configure the MCP server with all tools
|
|
17
|
+
*/
|
|
18
|
+
function createMcpServer() {
|
|
17
19
|
const server = new McpServer({
|
|
18
20
|
name: "counsel-mcp",
|
|
19
|
-
version: "0.1.
|
|
21
|
+
version: "0.1.3",
|
|
20
22
|
});
|
|
21
23
|
// Register all tools
|
|
22
24
|
for (const tool of Object.values(DEBATE_TOOLS)) {
|
|
@@ -25,14 +27,101 @@ program.command("start")
|
|
|
25
27
|
for (const tool of Object.values(ADVISOR_TOOLS)) {
|
|
26
28
|
server.tool(tool.name, tool.schema, tool.handler);
|
|
27
29
|
}
|
|
28
|
-
|
|
30
|
+
return server;
|
|
31
|
+
}
|
|
32
|
+
// STDIO mode (default) - for Claude Desktop, Cursor, MCPJam, etc.
|
|
33
|
+
program.command("start")
|
|
34
|
+
.description("Start the MCP server in stdio mode (default)")
|
|
35
|
+
.action(async () => {
|
|
36
|
+
const server = createMcpServer();
|
|
29
37
|
const transport = new StdioServerTransport();
|
|
30
38
|
await server.connect(transport);
|
|
31
|
-
// Log to stderr (stdout is used for MCP protocol)
|
|
32
39
|
console.error(`Counsel MCP Server started (stdio mode)`);
|
|
33
40
|
console.error(`Upstream API: ${config.COUNSEL_API_URL}`);
|
|
41
|
+
console.error(`Auth: Set COUNSEL_API_KEY environment variable`);
|
|
42
|
+
});
|
|
43
|
+
// HTTP mode - for clients that support OAuth
|
|
44
|
+
program.command("http")
|
|
45
|
+
.description("Start the MCP server in HTTP mode with OAuth support")
|
|
46
|
+
.option("-p, --port <port>", "Port to listen on", "3000")
|
|
47
|
+
.option("--host <host>", "Host to bind to", "localhost")
|
|
48
|
+
.action(async (options) => {
|
|
49
|
+
const express = (await import("express")).default;
|
|
50
|
+
const { ProxyOAuthServerProvider } = await import("@modelcontextprotocol/sdk/server/auth/providers/proxyProvider.js");
|
|
51
|
+
const { mcpAuthRouter } = await import("@modelcontextprotocol/sdk/server/auth/router.js");
|
|
52
|
+
const { requireBearerAuth } = await import("@modelcontextprotocol/sdk/server/auth/middleware/bearerAuth.js");
|
|
53
|
+
const port = parseInt(options.port, 10);
|
|
54
|
+
const host = options.host;
|
|
55
|
+
const baseUrl = new URL(`http://${host}:${port}`);
|
|
56
|
+
const counselApiUrl = config.COUNSEL_API_URL;
|
|
57
|
+
// Create OAuth provider that proxies to Counsel API
|
|
58
|
+
const oauthProvider = new ProxyOAuthServerProvider({
|
|
59
|
+
endpoints: {
|
|
60
|
+
authorizationUrl: `${counselApiUrl}/oauth/authorize`,
|
|
61
|
+
tokenUrl: `${counselApiUrl}/oauth/token`,
|
|
62
|
+
registrationUrl: `${counselApiUrl}/oauth/register`,
|
|
63
|
+
},
|
|
64
|
+
verifyAccessToken: async (token) => {
|
|
65
|
+
return {
|
|
66
|
+
token,
|
|
67
|
+
clientId: "counsel-mcp-client",
|
|
68
|
+
scopes: ["counsel:read", "counsel:write"],
|
|
69
|
+
expiresAt: Math.floor(Date.now() / 1000) + 3600,
|
|
70
|
+
};
|
|
71
|
+
},
|
|
72
|
+
getClient: async (clientId) => {
|
|
73
|
+
return {
|
|
74
|
+
client_id: clientId,
|
|
75
|
+
redirect_uris: [],
|
|
76
|
+
grant_types: ["authorization_code", "refresh_token"],
|
|
77
|
+
response_types: ["code"],
|
|
78
|
+
token_endpoint_auth_method: "client_secret_post",
|
|
79
|
+
};
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
const app = express();
|
|
83
|
+
app.use(express.json());
|
|
84
|
+
// OAuth routes
|
|
85
|
+
app.use(mcpAuthRouter({
|
|
86
|
+
provider: oauthProvider,
|
|
87
|
+
issuerUrl: baseUrl,
|
|
88
|
+
baseUrl: baseUrl,
|
|
89
|
+
scopesSupported: ["counsel:read", "counsel:write"],
|
|
90
|
+
serviceDocumentationUrl: new URL("https://counsel.getmason.dev/docs"),
|
|
91
|
+
}));
|
|
92
|
+
const mcpServer = createMcpServer();
|
|
93
|
+
const transports = new Map();
|
|
94
|
+
// Protected MCP endpoint
|
|
95
|
+
const mcpHandler = express.Router();
|
|
96
|
+
mcpHandler.use(requireBearerAuth({
|
|
97
|
+
verifier: oauthProvider,
|
|
98
|
+
requiredScopes: ["counsel:read"],
|
|
99
|
+
}));
|
|
100
|
+
mcpHandler.all("/", async (req, res) => {
|
|
101
|
+
const sessionId = req.headers["mcp-session-id"] || randomUUID();
|
|
102
|
+
let transport = transports.get(sessionId);
|
|
103
|
+
if (!transport) {
|
|
104
|
+
transport = new StreamableHTTPServerTransport({
|
|
105
|
+
sessionIdGenerator: () => sessionId,
|
|
106
|
+
});
|
|
107
|
+
transports.set(sessionId, transport);
|
|
108
|
+
await mcpServer.connect(transport);
|
|
109
|
+
transport.onclose = () => transports.delete(sessionId);
|
|
110
|
+
}
|
|
111
|
+
await transport.handleRequest(req, res);
|
|
112
|
+
});
|
|
113
|
+
app.use("/mcp", mcpHandler);
|
|
114
|
+
app.get("/health", (_req, res) => {
|
|
115
|
+
res.json({ status: "ok", version: "0.1.3" });
|
|
116
|
+
});
|
|
117
|
+
app.listen(port, host, () => {
|
|
118
|
+
console.log(`Counsel MCP Server running at ${baseUrl.href}`);
|
|
119
|
+
console.log(`MCP endpoint: ${baseUrl.href}mcp`);
|
|
120
|
+
console.log(`OAuth metadata: ${baseUrl.href}.well-known/oauth-authorization-server`);
|
|
121
|
+
console.log(`\nUpstream API: ${counselApiUrl}`);
|
|
122
|
+
});
|
|
34
123
|
});
|
|
35
|
-
// Default
|
|
124
|
+
// Default to stdio mode
|
|
36
125
|
if (process.argv.length === 2) {
|
|
37
126
|
process.argv.push("start");
|
|
38
127
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,KAAK,IAAI,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAE5D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,aAAa,CAAC;KACnB,WAAW,CAAC,oBAAoB,CAAC;KACjC,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "counsel-mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"description": "Open-source MCP server for connecting AI agents to the Counsel API",
|
|
5
5
|
"author": "Counsel AI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"main": "dist/index.js",
|
|
9
9
|
"types": "dist/index.d.ts",
|
|
10
10
|
"bin": {
|
|
11
|
-
"counsel-mcp": "
|
|
11
|
+
"counsel-mcp": "dist/index.js"
|
|
12
12
|
},
|
|
13
13
|
"exports": {
|
|
14
14
|
".": {
|
|
@@ -31,7 +31,10 @@
|
|
|
31
31
|
"test": "vitest run",
|
|
32
32
|
"test:watch": "vitest",
|
|
33
33
|
"lint": "tsc --noEmit",
|
|
34
|
-
"
|
|
34
|
+
"security:check": "node scripts/check-secrets.js",
|
|
35
|
+
"security:check:all": "node scripts/check-secrets.js --all",
|
|
36
|
+
"prepublishOnly": "npm run build && npm run test",
|
|
37
|
+
"prepare": "husky"
|
|
35
38
|
},
|
|
36
39
|
"keywords": [
|
|
37
40
|
"mcp",
|
|
@@ -71,6 +74,7 @@
|
|
|
71
74
|
"devDependencies": {
|
|
72
75
|
"@types/express": "^5.0.6",
|
|
73
76
|
"@types/node": "^20.0.0",
|
|
77
|
+
"husky": "^9.1.7",
|
|
74
78
|
"typescript": "^5.0.0",
|
|
75
79
|
"vitest": "^2.0.0"
|
|
76
80
|
}
|