dhis2-mcp-server
Version:
A Model Context Protocol server providing 108 tools for DHIS2 development, including code generators, debugging helpers, and documentation access for web and Android app development.
91 lines • 2.6 kB
TypeScript
/**
* Documentation Access System for DHIS2 MCP Server
* Integrates with filesystem and web search MCPs for comprehensive documentation access
*/
export interface DocumentationQuery {
topic: string;
platform: 'android' | 'web' | 'dhis2' | 'general';
searchType: 'local' | 'web' | 'both';
context?: string;
apiLevel?: number;
language?: 'kotlin' | 'java' | 'javascript' | 'typescript';
}
export interface DocumentationSource {
type: 'filesystem' | 'web' | 'cache';
path?: string;
url?: string;
priority: number;
lastUpdated?: Date;
}
export interface DocumentationResult {
source: DocumentationSource;
content: string;
relevanceScore: number;
examples?: string[];
relatedTopics?: string[];
}
export declare class DocumentationAccessSystem {
private mcpClients;
private cache;
private cacheExpiry;
constructor();
private initializeDocumentationSources;
/**
* Register external MCP clients for filesystem and web search
*/
registerMCPClient(type: 'filesystem' | 'websearch' | 'github', client: any): void;
/**
* Query documentation from multiple sources
*/
queryDocumentation(query: DocumentationQuery): Promise<DocumentationResult[]>;
/**
* Search local filesystem for documentation
*/
private searchLocalDocumentation;
/**
* Search Android SDK documentation locally
*/
private searchAndroidSDKDocs;
/**
* Search local web documentation (cached HTML docs, etc.)
*/
private searchLocalWebDocs;
/**
* Search web documentation
*/
private searchWebDocumentation;
/**
* Build platform-specific web search queries
*/
private buildWebSearchQueries;
/**
* Calculate relevance score for documentation content
*/
private calculateRelevanceScore;
/**
* Extract code examples from content
*/
private extractCodeExamples;
/**
* Extract related topics from content
*/
private extractRelatedTopics;
/**
* Helper methods
*/
private generateCacheKey;
private isCacheValid;
private cacheResults;
private sortByRelevance;
private calculatePriority;
private isDocumentationSite;
private getWebSourcePriority;
/**
* Generate comprehensive documentation response
*/
generateDocumentationResponse(results: DocumentationResult[], query: DocumentationQuery): string;
private getFileTitle;
private getUrlTitle;
private truncateContent;
}
//# sourceMappingURL=documentation-access.d.ts.map