equisense-research-mcp 0.2.0 → 0.3.0
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 +3 -3
- package/index.js +6 -6
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@ Thin Node.js MCP wrapper that exposes the EquiSense AI equity-research engine as
|
|
|
4
4
|
|
|
5
5
|
| Tool | Endpoint | What it does |
|
|
6
6
|
|---|---|---|
|
|
7
|
-
| `
|
|
7
|
+
| `ask_equisense` | `POST /api/v1/research/ask` | Natural-language Q&A over Indian-listed companies. Returns answer, detected company, intent, follow-up suggestions. |
|
|
8
8
|
|
|
9
9
|
Same brain the WhatsApp chat uses, just over MCP instead of WhatsApp.
|
|
10
10
|
|
|
@@ -72,7 +72,7 @@ Should show `equisense-research - ✓ Connected`.
|
|
|
72
72
|
|
|
73
73
|
In any Claude Code session:
|
|
74
74
|
|
|
75
|
-
> Use
|
|
75
|
+
> Use ask_equisense: bull case for OLAELEC
|
|
76
76
|
|
|
77
77
|
You should get back `{ answer, companyName, isin, detectedIntent, followUpQuestions, responseTimeMs }`.
|
|
78
78
|
|
|
@@ -91,7 +91,7 @@ You should get back `{ answer, companyName, isin, detectedIntent, followUpQuesti
|
|
|
91
91
|
- The minted token grants **full session access** for 90 days, scope-equivalent to a logged-in browser session for that user. Not scoped to research-only.
|
|
92
92
|
- There is no per-token revocation in v1. The only way to invalidate a token early is to rotate the global `auth.token.secret` (which logs out every user).
|
|
93
93
|
- Never commit the token. Never log it. Never paste it into chat.
|
|
94
|
-
- Each `
|
|
94
|
+
- Each `ask_equisense` call counts against the represented user's `AI_EQUITY_RESEARCH` daily quota — same metering as the web UI.
|
|
95
95
|
|
|
96
96
|
---
|
|
97
97
|
|
package/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
// EquiSense Research MCP server.
|
|
3
3
|
//
|
|
4
|
-
// Single tool:
|
|
4
|
+
// Single tool: ask_equisense — proxies POST /api/v1/research/ask. The user mints a
|
|
5
5
|
// scoped, revocable token in the web app (Settings → Claude) and passes it here
|
|
6
6
|
// via the EQUISENSE_MCP_TOKEN env var.
|
|
7
7
|
//
|
|
@@ -46,12 +46,12 @@ if (!MCP_TOKEN || MCP_TOKEN.trim() === "") {
|
|
|
46
46
|
// Client identity from the MCP initialize handshake (e.g. "claude-ai",
|
|
47
47
|
// "Claude Code"). Captured once, forwarded as X-MCP-Client so the backend can
|
|
48
48
|
// auto-name the connection in Settings → Claude. Null until the handshake lands
|
|
49
|
-
// and when
|
|
49
|
+
// and when askEquisense is exercised directly in unit tests.
|
|
50
50
|
let clientName = null;
|
|
51
51
|
|
|
52
52
|
export const TOOLS = [
|
|
53
53
|
{
|
|
54
|
-
name: "
|
|
54
|
+
name: "ask_equisense",
|
|
55
55
|
description:
|
|
56
56
|
"Ask EquiSense's AI equity-research engine a natural-language question " +
|
|
57
57
|
"about an Indian-listed company (NSE/BSE). Returns the answer, the " +
|
|
@@ -150,7 +150,7 @@ function formatHttpError(path, status, bodyText) {
|
|
|
150
150
|
return `EquiSense REST ${path} returned HTTP ${status}: ${snippet}`;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
|
-
export async function
|
|
153
|
+
export async function askEquisense(args) {
|
|
154
154
|
const body = {
|
|
155
155
|
query: args.query,
|
|
156
156
|
isin: args.isin ?? null,
|
|
@@ -171,14 +171,14 @@ export async function askResearch(args) {
|
|
|
171
171
|
}
|
|
172
172
|
|
|
173
173
|
const TOOL_HANDLERS = {
|
|
174
|
-
|
|
174
|
+
ask_equisense: askEquisense,
|
|
175
175
|
};
|
|
176
176
|
|
|
177
177
|
function createServer() {
|
|
178
178
|
const server = new Server(
|
|
179
179
|
{
|
|
180
180
|
name: "equisense-research",
|
|
181
|
-
version: "0.
|
|
181
|
+
version: "0.3.0",
|
|
182
182
|
},
|
|
183
183
|
{
|
|
184
184
|
capabilities: {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "equisense-research-mcp",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "MCP server wrapper for the EquiSense AI equity-research API. Exposes a single
|
|
3
|
+
"version": "0.3.0",
|
|
4
|
+
"description": "MCP server wrapper for the EquiSense AI equity-research API. Exposes a single ask_equisense tool that proxies POST /api/v1/research/ask, authenticated via a scoped, revocable token minted in Settings → Claude.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
7
7
|
"bin": {
|