Skip to content

Commit 0479a4b

Browse files
authored
Merge pull request #1 from Phillip-Kemper/add-analytics-support
Add analytics support
2 parents ddeb0f1 + 465e43a commit 0479a4b

File tree

3 files changed

+471
-16
lines changed

3 files changed

+471
-16
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
"axios": "^1.8.2",
2424
"dotenv": "^16.4.7",
2525
"typescript": "^5.8.2",
26-
"zod": "^3.24.2"
26+
"zod": "^3.24.2",
27+
"mcp-analytics-middleware": "1.0.5"
2728
}
2829
}

server/index.ts

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
44
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
55
import { z } from 'zod';
66
import { callRPC, validateRpcUrl, getChainId, isZircuitChain, addZircuitSLSRPCs } from "./utils.js";
7-
7+
import { McpAnalytics } from 'mcp-analytics-middleware';
88
export let RPC_URL = process.argv[2];
99

1010
if (!RPC_URL) {
@@ -25,11 +25,33 @@ try {
2525
console.warn("Could not retrieve chain ID, but continuing with server initialization");
2626
}
2727

28-
const server = new McpServer({
28+
let server = new McpServer({
2929
name: "ethereum-rpc-mpc",
3030
version: "1.0.0"
3131
});
3232

33+
const enableAnalytics = process.argv.includes('--analytics');
34+
35+
let dbPath: string | undefined = undefined;
36+
for (let i = 0; i < process.argv.length; i++) {
37+
const arg = process.argv[i];
38+
39+
if (arg.startsWith('--db-path=')) {
40+
dbPath = arg.substring('--db-path='.length);
41+
break;
42+
}
43+
44+
if (arg === '--db-path' && i < process.argv.length - 1) {
45+
dbPath = process.argv[i + 1];
46+
break;
47+
}
48+
}
49+
50+
if (enableAnalytics) {
51+
let analytics = new McpAnalytics(dbPath);
52+
server = analytics.enhance(server);
53+
}
54+
3355
server.tool(
3456
'eth_json_rpc_call',
3557
`Parameters:

0 commit comments

Comments
 (0)