counsel-mcp-server 0.1.0 → 0.1.2
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 +50 -13
- package/dist/client.d.ts +1 -7
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +8 -13
- package/dist/client.js.map +1 -1
- package/dist/index.js +56 -64
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
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
|
|
@@ -410,5 +447,5 @@ MIT License - see [LICENSE](LICENSE) for details.
|
|
|
410
447
|
|
|
411
448
|
- [Counsel Platform](https://counsel.getmason.dev) - Strategic reasoning platform
|
|
412
449
|
- [MCP Specification](https://modelcontextprotocol.io) - Model Context Protocol documentation
|
|
413
|
-
- [GitHub Issues](https://github.com/
|
|
414
|
-
- [GitHub Discussions](https://github.com/
|
|
450
|
+
- [GitHub Issues](https://github.com/mercurialsolo/counsel-mcp/issues) - Report bugs or request features
|
|
451
|
+
- [GitHub Discussions](https://github.com/mercurialsolo/counsel-mcp/discussions) - Ask questions
|
package/dist/client.d.ts
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
1
|
import { AxiosInstance } from 'axios';
|
|
2
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
3
|
-
interface RequestContext {
|
|
4
|
-
token: string;
|
|
5
|
-
}
|
|
6
|
-
export declare const requestContext: AsyncLocalStorage<RequestContext>;
|
|
7
2
|
/**
|
|
8
3
|
* Pre-configured Axios client for Counsel API calls.
|
|
9
|
-
*
|
|
4
|
+
* Uses COUNSEL_API_KEY environment variable for authentication.
|
|
10
5
|
*/
|
|
11
6
|
export declare const apiClient: AxiosInstance;
|
|
12
|
-
export {};
|
|
13
7
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAU7C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,aAOtB,CAAC"}
|
package/dist/client.js
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
|
-
import { AsyncLocalStorage } from 'async_hooks';
|
|
3
2
|
import { config } from './config.js';
|
|
4
|
-
export const requestContext = new AsyncLocalStorage();
|
|
5
3
|
/**
|
|
6
|
-
* Get
|
|
4
|
+
* Get API key from environment variable
|
|
7
5
|
*/
|
|
8
|
-
function
|
|
9
|
-
return
|
|
6
|
+
function getApiKey() {
|
|
7
|
+
return process.env.COUNSEL_API_KEY;
|
|
10
8
|
}
|
|
11
9
|
/**
|
|
12
10
|
* Pre-configured Axios client for Counsel API calls.
|
|
13
|
-
*
|
|
11
|
+
* Uses COUNSEL_API_KEY environment variable for authentication.
|
|
14
12
|
*/
|
|
15
13
|
export const apiClient = axios.create({
|
|
16
14
|
baseURL: config.COUNSEL_API_URL,
|
|
@@ -20,14 +18,11 @@ export const apiClient = axios.create({
|
|
|
20
18
|
'User-Agent': 'counsel-mcp-server/0.1.0'
|
|
21
19
|
}
|
|
22
20
|
});
|
|
23
|
-
// Add request interceptor to inject the auth token
|
|
21
|
+
// Add request interceptor to inject the auth token
|
|
24
22
|
apiClient.interceptors.request.use(async (reqConfig) => {
|
|
25
|
-
const
|
|
26
|
-
if (
|
|
27
|
-
reqConfig.headers.Authorization = `Bearer ${
|
|
28
|
-
}
|
|
29
|
-
else {
|
|
30
|
-
console.warn("Auth Warning: No token in request context. API call may fail.");
|
|
23
|
+
const apiKey = getApiKey();
|
|
24
|
+
if (apiKey) {
|
|
25
|
+
reqConfig.headers.Authorization = `Bearer ${apiKey}`;
|
|
31
26
|
}
|
|
32
27
|
return reqConfig;
|
|
33
28
|
});
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAErC;;GAEG;AACH,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;AACrC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAkB,KAAK,CAAC,MAAM,CAAC;IACnD,OAAO,EAAE,MAAM,CAAC,eAAe;IAC/B,OAAO,EAAE,KAAK;IACd,OAAO,EAAE;QACP,cAAc,EAAE,kBAAkB;QAClC,YAAY,EAAE,0BAA0B;KACzC;CACF,CAAC,CAAC;AAEH,mDAAmD;AACnD,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE;IACrD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,MAAM,EAAE,CAAC;QACX,SAAS,CAAC,OAAO,CAAC,aAAa,GAAG,UAAU,MAAM,EAAE,CAAC;IACvD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,30 +1,58 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import express from "express";
|
|
3
2
|
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
3
|
+
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
5
|
-
import { ProxyOAuthServerProvider } from "@modelcontextprotocol/sdk/server/auth/providers/proxyProvider.js";
|
|
6
|
-
import { mcpAuthRouter } from "@modelcontextprotocol/sdk/server/auth/router.js";
|
|
7
|
-
import { requireBearerAuth } from "@modelcontextprotocol/sdk/server/auth/middleware/bearerAuth.js";
|
|
8
5
|
import { Command } from "commander";
|
|
9
6
|
import { randomUUID } from "crypto";
|
|
10
7
|
import { config } from "./config.js";
|
|
11
|
-
import { requestContext } from "./client.js";
|
|
12
8
|
import { TOOLS as DEBATE_TOOLS } from "./tools/debates.js";
|
|
13
9
|
import { TOOLS as ADVISOR_TOOLS } from "./tools/advisor.js";
|
|
14
10
|
const program = new Command();
|
|
15
11
|
program
|
|
16
12
|
.name("counsel-mcp")
|
|
17
|
-
.description("Counsel MCP Server
|
|
18
|
-
.version("0.1.
|
|
13
|
+
.description("Counsel MCP Server")
|
|
14
|
+
.version("0.1.2");
|
|
15
|
+
/**
|
|
16
|
+
* Create and configure the MCP server with all tools
|
|
17
|
+
*/
|
|
18
|
+
function createMcpServer() {
|
|
19
|
+
const server = new McpServer({
|
|
20
|
+
name: "counsel-mcp",
|
|
21
|
+
version: "0.1.2",
|
|
22
|
+
});
|
|
23
|
+
// Register all tools
|
|
24
|
+
for (const tool of Object.values(DEBATE_TOOLS)) {
|
|
25
|
+
server.tool(tool.name, tool.schema, tool.handler);
|
|
26
|
+
}
|
|
27
|
+
for (const tool of Object.values(ADVISOR_TOOLS)) {
|
|
28
|
+
server.tool(tool.name, tool.schema, tool.handler);
|
|
29
|
+
}
|
|
30
|
+
return server;
|
|
31
|
+
}
|
|
32
|
+
// STDIO mode (default) - for Claude Desktop, Cursor, MCPJam, etc.
|
|
19
33
|
program.command("start")
|
|
20
|
-
.description("Start the MCP server
|
|
34
|
+
.description("Start the MCP server in stdio mode (default)")
|
|
35
|
+
.action(async () => {
|
|
36
|
+
const server = createMcpServer();
|
|
37
|
+
const transport = new StdioServerTransport();
|
|
38
|
+
await server.connect(transport);
|
|
39
|
+
console.error(`Counsel MCP Server started (stdio mode)`);
|
|
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")
|
|
21
46
|
.option("-p, --port <port>", "Port to listen on", "3000")
|
|
22
|
-
.option("
|
|
47
|
+
.option("--host <host>", "Host to bind to", "localhost")
|
|
23
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");
|
|
24
53
|
const port = parseInt(options.port, 10);
|
|
25
54
|
const host = options.host;
|
|
26
55
|
const baseUrl = new URL(`http://${host}:${port}`);
|
|
27
|
-
// Use Counsel API as the upstream OAuth server
|
|
28
56
|
const counselApiUrl = config.COUNSEL_API_URL;
|
|
29
57
|
// Create OAuth provider that proxies to Counsel API
|
|
30
58
|
const oauthProvider = new ProxyOAuthServerProvider({
|
|
@@ -32,23 +60,16 @@ program.command("start")
|
|
|
32
60
|
authorizationUrl: `${counselApiUrl}/oauth/authorize`,
|
|
33
61
|
tokenUrl: `${counselApiUrl}/oauth/token`,
|
|
34
62
|
registrationUrl: `${counselApiUrl}/oauth/register`,
|
|
35
|
-
revocationUrl: `${counselApiUrl}/oauth/revoke`,
|
|
36
63
|
},
|
|
37
|
-
// Verify access tokens by calling Counsel API
|
|
38
64
|
verifyAccessToken: async (token) => {
|
|
39
|
-
// For now, we trust the token and extract info from it
|
|
40
|
-
// In production, you might want to call an introspection endpoint
|
|
41
|
-
// or validate the token format
|
|
42
65
|
return {
|
|
43
66
|
token,
|
|
44
67
|
clientId: "counsel-mcp-client",
|
|
45
68
|
scopes: ["counsel:read", "counsel:write"],
|
|
46
|
-
expiresAt: Math.floor(Date.now() / 1000) + 3600,
|
|
69
|
+
expiresAt: Math.floor(Date.now() / 1000) + 3600,
|
|
47
70
|
};
|
|
48
71
|
},
|
|
49
|
-
// Get client info - for proxy mode, we delegate to upstream
|
|
50
72
|
getClient: async (clientId) => {
|
|
51
|
-
// Return minimal client info - actual validation happens at Counsel API
|
|
52
73
|
return {
|
|
53
74
|
client_id: clientId,
|
|
54
75
|
redirect_uris: [],
|
|
@@ -58,10 +79,9 @@ program.command("start")
|
|
|
58
79
|
};
|
|
59
80
|
},
|
|
60
81
|
});
|
|
61
|
-
// Create Express app
|
|
62
82
|
const app = express();
|
|
63
83
|
app.use(express.json());
|
|
64
|
-
//
|
|
84
|
+
// OAuth routes
|
|
65
85
|
app.use(mcpAuthRouter({
|
|
66
86
|
provider: oauthProvider,
|
|
67
87
|
issuerUrl: baseUrl,
|
|
@@ -69,67 +89,39 @@ program.command("start")
|
|
|
69
89
|
scopesSupported: ["counsel:read", "counsel:write"],
|
|
70
90
|
serviceDocumentationUrl: new URL("https://counsel.getmason.dev/docs"),
|
|
71
91
|
}));
|
|
72
|
-
|
|
73
|
-
const mcpServer = new McpServer({
|
|
74
|
-
name: "counsel-mcp",
|
|
75
|
-
version: "0.1.0",
|
|
76
|
-
});
|
|
77
|
-
// Register all tools
|
|
78
|
-
for (const tool of Object.values(DEBATE_TOOLS)) {
|
|
79
|
-
mcpServer.tool(tool.name, tool.schema, tool.handler);
|
|
80
|
-
}
|
|
81
|
-
for (const tool of Object.values(ADVISOR_TOOLS)) {
|
|
82
|
-
mcpServer.tool(tool.name, tool.schema, tool.handler);
|
|
83
|
-
}
|
|
84
|
-
// Create transport for each session
|
|
92
|
+
const mcpServer = createMcpServer();
|
|
85
93
|
const transports = new Map();
|
|
86
|
-
// Protected MCP endpoint
|
|
94
|
+
// Protected MCP endpoint
|
|
87
95
|
const mcpHandler = express.Router();
|
|
88
96
|
mcpHandler.use(requireBearerAuth({
|
|
89
97
|
verifier: oauthProvider,
|
|
90
98
|
requiredScopes: ["counsel:read"],
|
|
91
99
|
}));
|
|
92
|
-
// Handle MCP requests
|
|
93
100
|
mcpHandler.all("/", async (req, res) => {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
});
|
|
106
|
-
transports.set(sessionId, transport);
|
|
107
|
-
// Connect transport to MCP server
|
|
108
|
-
await mcpServer.connect(transport);
|
|
109
|
-
// Clean up on close
|
|
110
|
-
transport.onclose = () => {
|
|
111
|
-
transports.delete(sessionId);
|
|
112
|
-
};
|
|
113
|
-
}
|
|
114
|
-
// Handle the request
|
|
115
|
-
await transport.handleRequest(req, res);
|
|
116
|
-
});
|
|
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);
|
|
117
112
|
});
|
|
118
113
|
app.use("/mcp", mcpHandler);
|
|
119
|
-
// Health check endpoint
|
|
120
114
|
app.get("/health", (_req, res) => {
|
|
121
|
-
res.json({ status: "ok", version: "0.1.
|
|
115
|
+
res.json({ status: "ok", version: "0.1.2" });
|
|
122
116
|
});
|
|
123
|
-
// Start server
|
|
124
117
|
app.listen(port, host, () => {
|
|
125
118
|
console.log(`Counsel MCP Server running at ${baseUrl.href}`);
|
|
126
119
|
console.log(`MCP endpoint: ${baseUrl.href}mcp`);
|
|
127
|
-
console.log(`OAuth authorize: ${baseUrl.href}authorize`);
|
|
128
120
|
console.log(`OAuth metadata: ${baseUrl.href}.well-known/oauth-authorization-server`);
|
|
129
|
-
console.log(`\nUpstream
|
|
121
|
+
console.log(`\nUpstream API: ${counselApiUrl}`);
|
|
130
122
|
});
|
|
131
123
|
});
|
|
132
|
-
// Default
|
|
124
|
+
// Default to stdio mode
|
|
133
125
|
if (process.argv.length === 2) {
|
|
134
126
|
process.argv.push("start");
|
|
135
127
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,
|
|
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.2",
|
|
4
4
|
"description": "Open-source MCP server for connecting AI agents to the Counsel API",
|
|
5
5
|
"author": "Counsel AI",
|
|
6
6
|
"license": "MIT",
|
|
@@ -49,12 +49,12 @@
|
|
|
49
49
|
],
|
|
50
50
|
"repository": {
|
|
51
51
|
"type": "git",
|
|
52
|
-
"url": "git+https://github.com/
|
|
52
|
+
"url": "git+https://github.com/mercurialsolo/counsel-mcp.git"
|
|
53
53
|
},
|
|
54
54
|
"bugs": {
|
|
55
|
-
"url": "https://github.com/
|
|
55
|
+
"url": "https://github.com/mercurialsolo/counsel-mcp/issues"
|
|
56
56
|
},
|
|
57
|
-
"homepage": "https://github.com/
|
|
57
|
+
"homepage": "https://github.com/mercurialsolo/counsel-mcp#readme",
|
|
58
58
|
"publishConfig": {
|
|
59
59
|
"access": "public",
|
|
60
60
|
"registry": "https://registry.npmjs.org/"
|