Update MCP server config to reflect all 5 implemented tools

Updated MCP_SERVER_CONFIG to accurately advertise current capabilities:
- Version bumped to 1.1.0
- Tools available: added search_babylon_api, search_babylon_source, get_babylon_source
- Tools description: updated to mention API references and source code
- Instructions: comprehensive list of all 5 tools with descriptions
- Sources: removed "future integration" labels from babylonSource and havok

Updated config.test.ts to verify all 5 tools are listed and mentioned in instructions.

Added resource subscriptions to ROADMAP.md as future enhancement (Phase 3.3).

All 152 tests passing. TypeScript compilation successful.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Michael Mainguy 2025-11-23 07:16:27 -06:00
parent 24906fb9df
commit 73ee31858e
3 changed files with 30 additions and 8 deletions

View File

@ -125,6 +125,10 @@ Successfully implemented vector search with local embeddings:
- Reduces need to repeatedly fetch basic information - Reduces need to repeatedly fetch basic information
- [ ] Create canonical response templates for common questions - [ ] Create canonical response templates for common questions
- [ ] Add version-specific context handling - [ ] Add version-specific context handling
- [ ] Add resource subscriptions for documentation/source updates
- Convert get_babylon_doc and get_babylon_source from tools to resources
- Implement file watching for repository changes
- Send resource update notifications to subscribed clients
--- ---

View File

@ -31,7 +31,10 @@ describe('MCP_SERVER_CONFIG', () => {
const tools = MCP_SERVER_CONFIG.capabilities.tools.available; const tools = MCP_SERVER_CONFIG.capabilities.tools.available;
expect(tools).toContain('search_babylon_docs'); expect(tools).toContain('search_babylon_docs');
expect(tools).toContain('get_babylon_doc'); expect(tools).toContain('get_babylon_doc');
expect(tools.length).toBe(2); expect(tools).toContain('search_babylon_api');
expect(tools).toContain('search_babylon_source');
expect(tools).toContain('get_babylon_source');
expect(tools.length).toBe(5);
}); });
it('should define prompts capability', () => { it('should define prompts capability', () => {
@ -55,6 +58,9 @@ describe('MCP_SERVER_CONFIG', () => {
const instructions = MCP_SERVER_CONFIG.instructions; const instructions = MCP_SERVER_CONFIG.instructions;
expect(instructions).toContain('search_babylon_docs'); expect(instructions).toContain('search_babylon_docs');
expect(instructions).toContain('get_babylon_doc'); expect(instructions).toContain('get_babylon_doc');
expect(instructions).toContain('search_babylon_api');
expect(instructions).toContain('search_babylon_source');
expect(instructions).toContain('get_babylon_source');
}); });
}); });

View File

@ -5,14 +5,21 @@
export const MCP_SERVER_CONFIG = { export const MCP_SERVER_CONFIG = {
name: 'babylon-mcp', name: 'babylon-mcp',
version: '1.0.0', version: '1.1.0',
description: 'Babylon.js Documentation and Examples MCP Server', description: 'Babylon.js Documentation and Examples MCP Server',
author: 'Babylon MCP Team', author: 'Babylon MCP Team',
capabilities: { capabilities: {
tools: { tools: {
description: 'Provides tools for searching and retrieving Babylon.js documentation', description:
available: ['search_babylon_docs', 'get_babylon_doc'], 'Provides tools for searching and retrieving Babylon.js documentation, API references, and source code',
available: [
'search_babylon_docs',
'get_babylon_doc',
'search_babylon_api',
'search_babylon_source',
'get_babylon_source',
],
}, },
prompts: { prompts: {
description: 'Future: Pre-defined prompts for common Babylon.js tasks', description: 'Future: Pre-defined prompts for common Babylon.js tasks',
@ -25,8 +32,13 @@ export const MCP_SERVER_CONFIG = {
}, },
instructions: instructions:
'Babylon MCP Server provides access to Babylon.js documentation, API references, and code examples. ' + 'Babylon MCP Server provides access to Babylon.js documentation, API references, and source code. ' +
'Use search_babylon_docs to find relevant documentation, and get_babylon_doc to retrieve specific pages. ' + 'Available tools:\n' +
'- search_babylon_docs: Search documentation with optional category filtering\n' +
'- get_babylon_doc: Retrieve full documentation page by path\n' +
'- search_babylon_api: Search API documentation (classes, methods, properties)\n' +
'- search_babylon_source: Search Babylon.js source code files with optional package filtering\n' +
'- get_babylon_source: Retrieve source file content with optional line range\n' +
'This server helps reduce token usage by providing a canonical source for Babylon.js framework information.', 'This server helps reduce token usage by providing a canonical source for Babylon.js framework information.',
transport: { transport: {
@ -44,11 +56,11 @@ export const MCP_SERVER_CONFIG = {
}, },
babylonSource: { babylonSource: {
repository: 'https://github.com/BabylonJS/Babylon.js.git', repository: 'https://github.com/BabylonJS/Babylon.js.git',
description: 'Babylon.js source code (future integration)', description: 'Babylon.js source code repository',
}, },
havok: { havok: {
repository: 'https://github.com/BabylonJS/havok.git', repository: 'https://github.com/BabylonJS/havok.git',
description: 'Havok Physics integration (future)', description: 'Havok Physics integration',
}, },
}, },
} as const; } as const;