MCPcopy
hub / github.com/subquery/subql / run

Method run

packages/cli/src/commands/mcp.ts:44–134  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

42 static description = 'Runs an MCP (Model Context Protocol) server over stdio';
43
44 async run(): Promise<void> {
45 const server = new McpServer(
46 {
47 name: 'SubQuery CLI',
48 version: pjson.version,
49 // description:
50 // 'Interact with SubQuery CLI commands using Model Context Protocol. This allows you to initialize, build and deploy your SubQuery projects.',
51 },
52 {
53 capabilities: {
54 logging: {}, // Required to enable logging
55 },
56 }
57 );
58
59 // Note: Cursor and Zed don't currently support MCP resources.
60 server.registerResource(
61 'supported-networks',
62 'subql://supported-networks', //new ResourceTemplate('subql://supported-networks', {list: undefined}),
63 {
64 title: 'Supported Networks',
65 description: 'A list of networks SubQuery can initialize a project for',
66 },
67 async (uri: any) => {
68 const networkTemplates = await fetchNetworks();
69 const networkNames = networkTemplates.flatMap((fam) => fam.networks.map((net) => net.name));
70
71 return {
72 contents: [
73 {
74 uri,
75 text: networkNames.join(', '),
76 },
77 ],
78 };
79 }
80 );
81
82 // There needs to be at least one tool registered before a client connects otherwise tools arent discovered
83 registerCodegenMCPTool(server);
84 registerMultichainAddMCPTool(server);
85 registerCreateProjectMCPTool(server);
86 registerDeleteProjectMCPTool(server);
87 registerPromoteDeploymentMCPTool(server);
88 registerBuildMCPTool(server);
89 registerPublishMCPTool(server);
90 registerMigrateSubgraphMCPTool(server);
91
92 registerListNetworkProjectsMCPTool(server);
93 registerListNetworkDeploymentsMCPTool(server);
94 registerListDeploymentBoostsMCPTool(server);
95 registerListDeploymentIndexersMCPTool(server);
96 registerListAccountBoostsMCPTool(server);
97 registerListFlexPlansMCPTool(server);
98 registerCreateNetworkFlexPlanMCPTool(server);
99 registerStopNetworkFlexPlanMCPTool(server);
100 registerCreateNetworkApiKeyMCPTool(server);
101 registerDisconnectWalletMCPTool(server);

Callers 5

installAndBuildFunction · 0.45
runBundleFunction · 0.45
publish.test.tsFile · 0.45
migrate.test.tsFile · 0.45

Tested by

no test coverage detected