Skip to content

Commit 65229a9

Browse files
author
supermodel-bot
committed
Deploy arch-docs for mcp
1 parent c685355 commit 65229a9

File tree

158 files changed

+5553
-3097
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+5553
-3097
lines changed

site/mcp/all/index.html

Lines changed: 15 additions & 15 deletions
Large diffs are not rendered by default.

site/mcp/all/page-2.html

Lines changed: 24 additions & 24 deletions
Large diffs are not rendered by default.

site/mcp/all/page-3.html

Lines changed: 60 additions & 42 deletions
Large diffs are not rendered by default.

site/mcp/class-graph-cache-ts-graphcache.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -957,7 +957,7 @@ <h3>Entity Profile</h3>
957957
<div class="visuals-cell force-graph-container">
958958
<h3>Relationship Graph</h3>
959959
<div id="force-graph" data-center="class-graph-cache-ts-graphcache"></div>
960-
<script type="application/json" id="graph-data">{"nodes":[{"id":"339e3b44:0672:bde5:5af8:115dfcd7314a","label":"GraphCache","type":"Class","slug":"class-graph-cache-ts-graphcache","lc":104,"lang":"typescript"},{"id":"domain:GraphCache","label":"GraphCache","type":"Domain","slug":"domain-graphcache"}],"edges":[{"source":"339e3b44:0672:bde5:5af8:115dfcd7314a","target":"domain:GraphCache","type":"belongsTo"}]}</script>
960+
<script type="application/json" id="graph-data">{"nodes":[{"id":"5b5bb400:bcd4:3535:291b:550d27751600","label":"GraphCache","type":"Class","slug":"class-graph-cache-ts-graphcache","lc":104,"lang":"typescript"},{"id":"domain:GraphCache","label":"GraphCache","type":"Domain","slug":"domain-graphcache"}],"edges":[{"source":"5b5bb400:bcd4:3535:291b:550d27751600","target":"domain:GraphCache","type":"belongsTo"}]}</script>
961961
<noscript><p class="text-muted">Enable JavaScript to view the interactive relationship graph.</p></noscript>
962962
</div>
963963

site/mcp/class-server-ts-server.html

Lines changed: 83 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -913,7 +913,7 @@ <h1 class="entity-title">Server Class — mcp Architecture</h1>
913913
<div class="entity-meta">
914914
<a href="/mcp/node_type/class.html" class="pill pill-accent">Class</a>
915915
<a href="/mcp/language/typescript.html" class="pill pill-blue">typescript</a>
916-
<a href="/mcp/domain/mcpserver.html" class="pill pill-green">McpServer</a>
916+
<a href="/mcp/domain/mcpnodeserver.html" class="pill pill-green">McpNodeServer</a>
917917

918918

919919

@@ -930,18 +930,18 @@ <h1 class="entity-title">Server Class — mcp Architecture</h1>
930930
<div class="chart-panel entity-profile-panel">
931931
<h3>Entity Profile</h3>
932932
<div id="entity-profile-chart"></div>
933-
<script type="application/json" id="entity-profile-data">{"cb":0,"el":276,"fn":0,"lc":223,"sl":54}</script>
933+
<script type="application/json" id="entity-profile-data">{"cb":0,"el":351,"fn":0,"lc":297,"sl":55}</script>
934934
</div>
935935

936936

937937
<div class="visuals-panel">
938938

939939
<div class="visuals-archmap" id="arch-map-container">
940940
<div class="arch-map-svg"></div>
941-
<script type="application/json" id="arch-map-data">{"domain":{"name":"McpServer","slug":"domain-mcpserver"},"entity":{"name":"Server","slug":"class-server-ts-server","type":"Class"}}</script>
941+
<script type="application/json" id="arch-map-data">{"domain":{"name":"McpNodeServer","slug":"domain-mcpnodeserver"},"entity":{"name":"Server","slug":"class-server-ts-server","type":"Class"}}</script>
942942
<noscript>
943943
<div class="arch-map-fallback">
944-
<a href="/mcp/mcpserver.html">McpServer</a><span class="arch-sep">&rarr;</span>
944+
<a href="/mcp/mcpnodeserver.html">McpNodeServer</a><span class="arch-sep">&rarr;</span>
945945

946946
<span>Server Class — mcp Architecture</span>
947947
</div>
@@ -957,7 +957,7 @@ <h3>Entity Profile</h3>
957957
<div class="visuals-cell force-graph-container">
958958
<h3>Relationship Graph</h3>
959959
<div id="force-graph" data-center="class-server-ts-server"></div>
960-
<script type="application/json" id="graph-data">{"nodes":[{"id":"acd1ccf0:5532:a483:c07a:522990731283","label":"Server","type":"Class","slug":"class-server-ts-server","lc":223,"lang":"typescript"},{"id":"domain:McpServer","label":"McpServer","type":"Domain","slug":"domain-mcpserver"}],"edges":[{"source":"acd1ccf0:5532:a483:c07a:522990731283","target":"domain:McpServer","type":"belongsTo"}]}</script>
960+
<script type="application/json" id="graph-data">{"nodes":[{"id":"b9ca4797:b85c:b98d:631d:759dc11c86e4","label":"Server","type":"Class","slug":"class-server-ts-server","lc":297,"lang":"typescript"},{"id":"domain:McpNodeServer","label":"McpNodeServer","type":"Domain","slug":"domain-mcpnodeserver"}],"edges":[{"source":"b9ca4797:b85c:b98d:631d:759dc11c86e4","target":"domain:McpNodeServer","type":"belongsTo"}]}</script>
961961
<noscript><p class="text-muted">Enable JavaScript to view the interactive relationship graph.</p></noscript>
962962
</div>
963963

@@ -969,7 +969,7 @@ <h3>Relationship Graph</h3>
969969

970970
<div class="entity-section source-code-section">
971971
<h2>Source Code</h2>
972-
<p class="source-location">src/server.ts lines 54–276</p>
972+
<p class="source-location">src/server.ts lines 55–351</p>
973973
<pre class="source-code"><code class="language-typescript">export class Server {
974974
private server: McpServer;
975975
private client: ClientContext;
@@ -1037,7 +1037,7 @@ <h2>Source Code</h2>
10371037
version: &#39;0.0.1&#39;,
10381038
},
10391039
{
1040-
capabilities: { tools: {}, logging: {} },
1040+
capabilities: { tools: {}, logging: {}, prompts: {}, resources: {} },
10411041
instructions,
10421042
},
10431043
);
@@ -1061,6 +1061,8 @@ <h2>Source Code</h2>
10611061
};
10621062

10631063
this.setupHandlers();
1064+
this.setupPrompts();
1065+
this.setupResources();
10641066
}
10651067

10661068
private setupHandlers() {
@@ -1116,6 +1118,78 @@ <h2>Source Code</h2>
11161118
});
11171119
}
11181120

1121+
private setupPrompts() {
1122+
this.server.prompt(
1123+
&#39;lookup-symbol&#39;,
1124+
&#39;Look up a symbol (function, class, or method) in a codebase — returns source code, callers, callees, and architectural domain&#39;,
1125+
{
1126+
symbol: z.string().describe(&#39;Name of the symbol to look up (e.g. &#34;filter_queryset&#34;, &#34;UserModel.save&#34;)&#39;),
1127+
directory: z.string().optional().describe(&#39;Path to the repository directory&#39;),
1128+
},
1129+
({ symbol, directory }) =&gt; ({
1130+
messages: [{
1131+
role: &#39;user&#39; as const,
1132+
content: {
1133+
type: &#39;text&#39; as const,
1134+
text: `Use the symbol_context tool to look up &#34;${symbol}&#34;${directory ? ` in the repository at ${directory}` : &#39;&#39;}. Return the definition location, source code, callers, callees, and architectural domain.`,
1135+
},
1136+
}],
1137+
}),
1138+
);
1139+
1140+
this.server.prompt(
1141+
&#39;explore-architecture&#39;,
1142+
&#39;Explore the architectural structure of a codebase — surfaces subsystems, entry points, and key components via the codebase overview&#39;,
1143+
{
1144+
directory: z.string().describe(&#39;Path to the repository directory&#39;),
1145+
focus: z.string().optional().describe(&#39;Optional area or subsystem to focus on&#39;),
1146+
},
1147+
({ directory, focus }) =&gt; ({
1148+
messages: [{
1149+
role: &#39;user&#39; as const,
1150+
content: {
1151+
type: &#39;text&#39; as const,
1152+
text: `Explore the architecture of the repository at ${directory}${focus ? `, focusing on ${focus}` : &#39;&#39;}. Use the symbol_context tool to look up key classes and entry points. Summarize the main subsystems, their responsibilities, and how they interact.`,
1153+
},
1154+
}],
1155+
}),
1156+
);
1157+
}
1158+
1159+
private setupResources() {
1160+
this.server.resource(
1161+
&#39;configuration&#39;,
1162+
&#39;supermodel://docs/configuration&#39;,
1163+
{
1164+
description: &#39;Supermodel MCP Server configuration reference — environment variables and CLI options&#39;,
1165+
mimeType: &#39;text/markdown&#39;,
1166+
},
1167+
async (uri) =&gt; ({
1168+
contents: [{
1169+
uri: uri.toString(),
1170+
mimeType: &#39;text/markdown&#39;,
1171+
text: `# Configuration Reference\n\n## Environment Variables\n\n| Variable | Required | Default | Description |\n|----------|----------|---------|-------------|\n| \`SUPERMODEL_API_KEY\` | Yes | — | API key from [dashboard.supermodeltools.com](https://dashboard.supermodeltools.com) |\n| \`SUPERMODEL_BASE_URL\` | No | \`https://api.supermodeltools.com\` | Override API endpoint |\n| \`SUPERMODEL_CACHE_DIR\` | No | — | Directory for pre-computed graph cache files |\n| \`SUPERMODEL_TIMEOUT_MS\` | No | \`900000\` | API request timeout in milliseconds |\n| \`SUPERMODEL_NO_API_FALLBACK\` | No | — | Set to disable on-demand API calls (cache-only mode) |\n| \`SUPERMODEL_EXPERIMENT\` | No | — | Experiment mode (e.g. \`graphrag\`) |\n\n## CLI Usage\n\n\`\`\`bash\nnpx @supermodeltools/mcp-server [directory] [--precache]\n\`\`\`\n\n| Argument | Description |\n|----------|-------------|\n| \`directory\` | Default working directory for tool calls |\n| \`--precache\` | Generate and cache the graph for the directory on startup |\n\n## Pre-computing Graphs\n\n\`\`\`bash\nnpx @supermodeltools/mcp-server precache /path/to/repo --output-dir ./cache\n\`\`\`\n`,
1172+
}],
1173+
}),
1174+
);
1175+
1176+
this.server.resource(
1177+
&#39;quickstart&#39;,
1178+
&#39;supermodel://docs/quickstart&#39;,
1179+
{
1180+
description: &#39;Supermodel MCP Server quick start guide — install, configure, and start using in under 5 minutes&#39;,
1181+
mimeType: &#39;text/markdown&#39;,
1182+
},
1183+
async (uri) =&gt; ({
1184+
contents: [{
1185+
uri: uri.toString(),
1186+
mimeType: &#39;text/markdown&#39;,
1187+
text: `# Quick Start Guide\n\n## 1. Get an API Key\n\nSign up at [dashboard.supermodeltools.com](https://dashboard.supermodeltools.com) to get your free API key.\n\n## 2. Install\n\n\`\`\`bash\nnpm install -g @supermodeltools/mcp-server\n\`\`\`\n\nOr run directly with npx (no install needed):\n\n\`\`\`bash\nnpx @supermodeltools/mcp-server\n\`\`\`\n\n## 3. Add to Your MCP Client\n\n### Claude Code\n\n\`\`\`bash\nclaude mcp add supermodel --env SUPERMODEL_API_KEY=your-key -- npx -y @supermodeltools/mcp-server\n\`\`\`\n\n### Cursor\n\nAdd to \`~/.cursor/mcp.json\`:\n\n\`\`\`json\n{\n &#34;mcpServers&#34;: {\n &#34;supermodel&#34;: {\n &#34;command&#34;: &#34;npx&#34;,\n &#34;args&#34;: [&#34;-y&#34;, &#34;@supermodeltools/mcp-server&#34;],\n &#34;env&#34;: { &#34;SUPERMODEL_API_KEY&#34;: &#34;your-key&#34; }\n }\n }\n}\n\`\`\`\n\n## 4. Use the Tools\n\n- **\`symbol_context\`**: Look up any function, class, or method with full caller/callee graph and source code\n- Supports batch lookups via the \`symbols\` array\n- Use \`brief: true\` for compact output when looking up 3&#43; symbols\n\n## Next Steps\n\n- Read the [configuration reference](supermodel://docs/configuration) for advanced options\n- Use \`precache\` to pre-compute graphs for faster responses\n- See the [GitHub repo](https://github.com/supermodeltools/mcp) for more\n`,
1188+
}],
1189+
}),
1190+
);
1191+
}
1192+
11191193
private getTestHint(primaryLanguage: string): string {
11201194
switch (primaryLanguage.toLowerCase()) {
11211195
case &#39;python&#39;: return &#39;\n\n**Test with:** `python -m pytest &lt;test_file&gt; -x`&#39;;
@@ -1201,7 +1275,7 @@ <h2>Source Code</h2>
12011275

12021276
<div class="entity-section">
12031277
<h2>Domain</h2>
1204-
<ul><li><a href="/mcp/domain-mcpserver.html">McpServer</a></li></ul>
1278+
<ul><li><a href="/mcp/domain-mcpnodeserver.html">McpNodeServer</a></li></ul>
12051279
</div>
12061280

12071281

@@ -1234,7 +1308,7 @@ <h2>Domain</h2>
12341308

12351309
<div class="entity-section">
12361310
<h2>Source</h2>
1237-
<ul><li><a href="https://github.com/supermodeltools/mcp/blob/main/src/server.ts#L54">View on GitHub</a></li></ul>
1311+
<ul><li><a href="https://github.com/supermodeltools/mcp/blob/main/src/server.ts#L55">View on GitHub</a></li></ul>
12381312
</div>
12391313

12401314

0 commit comments

Comments
 (0)