get_endpoint_docs
Retrieve documentation for specific blockchain endpoints to understand their functionality and usage within Grove's MCP Server for Pocket Network.
Instructions
Get documentation for a specific endpoint
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| endpointId | Yes | The ID of the endpoint |
Implementation Reference
- src/handlers/docs-handlers.ts:107-131 (handler)The handler logic for the 'get_endpoint_docs' tool. Extracts the endpointId from arguments, fetches the docs using DocsManager, and returns the JSON stringified response or an error.case 'get_endpoint_docs': { const endpointId = args?.endpointId as string; const docPage = await docsManager.getEndpointDocs(endpointId); if (!docPage) { return { content: [ { type: 'text', text: `Documentation not found for endpoint: ${endpointId}`, }, ], isError: true, }; } return { content: [ { type: 'text', text: JSON.stringify(docPage, null, 2), }, ], }; }
- src/handlers/docs-handlers.ts:29-42 (registration)Tool registration definition including name, description, and input schema for 'get_endpoint_docs'.{ name: 'get_endpoint_docs', description: 'Get documentation for a specific endpoint', inputSchema: { type: 'object', properties: { endpointId: { type: 'string', description: 'The ID of the endpoint', }, }, required: ['endpointId'], }, },
- src/handlers/docs-handlers.ts:32-41 (schema)Input schema defining the required 'endpointId' parameter for the tool.inputSchema: { type: 'object', properties: { endpointId: { type: 'string', description: 'The ID of the endpoint', }, }, required: ['endpointId'], },
- src/services/docs-manager.ts:59-62 (helper)Helper method in DocsManager that maps endpointId to the documentation path and delegates to getDocPage.async getEndpointDocs(endpointId: string): Promise<DocPage | null> { // Convention: endpoint docs are at /endpoints/{endpointId} return this.getDocPage(`/endpoints/${endpointId}`); }
- src/services/docs-manager.ts:16-37 (helper)Core helper method that fetches the documentation content from the base URL and extracts title.async getDocPage(path: string): Promise<DocPage | null> { try { const url = `${this.baseUrl}${path.startsWith('/') ? path : '/' + path}`; const response = await fetch(url); if (!response.ok) { return null; } const content = await response.text(); return { title: this.extractTitle(content), content, url, lastUpdated: response.headers.get('last-modified') || undefined }; } catch (error) { console.error('Error fetching doc page:', error); return null; } }