@knath2000/codebase-indexing-mcp
Version:
MCP server for codebase indexing with Voyage AI embeddings and Qdrant vector storage
353 lines (352 loc) • 9.57 kB
TypeScript
#!/usr/bin/env node
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { IndexingService } from './services/indexing-service.js';
import { SearchService } from './services/search-service.js';
export declare const TOOL_DEFINITIONS: ({
name: string;
description: string;
inputSchema: {
type: string;
properties: {
directory_path: {
type: string;
description: string;
};
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
file_path: {
type: string;
description: string;
};
directory_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
query: {
type: string;
description: string;
};
language: {
type: string;
description: string;
};
chunk_type: {
type: string;
description: string;
};
file_path: {
type: string;
description: string;
};
limit: {
type: string;
description: string;
};
threshold: {
type: string;
description: string;
};
directory_path?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
query: {
type: string;
description: string;
};
language: {
type: string;
description: string;
};
limit: {
type: string;
description: string;
};
directory_path?: never;
file_path?: never;
chunk_type?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
chunk_id: {
type: string;
description: string;
};
limit: {
type: string;
description: string;
};
threshold: {
type: string;
description: string;
};
directory_path?: never;
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
chunk_id: {
type: string;
description: string;
};
context_lines: {
type: string;
description: string;
};
directory_path?: never;
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
directory_path?: never;
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required?: never;
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
force: {
type: string;
description: string;
default: boolean;
};
directory_path?: never;
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: never[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
query: {
type: string;
description: string;
};
language: {
type: string;
description: string;
};
chunk_type: {
type: string;
description: string;
};
file_path: {
type: string;
description: string;
};
limit: {
type: string;
description: string;
};
max_tokens: {
type: string;
description: string;
};
enable_hybrid: {
type: string;
description: string;
};
enable_reranking: {
type: string;
description: string;
};
prefer_implementation: {
type: string;
description: string;
};
directory_path?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
workspace_id?: never;
};
required: string[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
directory_path?: never;
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
workspace_id?: never;
};
required: never[];
};
} | {
name: string;
description: string;
inputSchema: {
type: string;
properties: {
workspace_id: {
type: string;
description: string;
};
directory_path?: never;
file_path?: never;
query?: never;
language?: never;
chunk_type?: never;
limit?: never;
threshold?: never;
chunk_id?: never;
context_lines?: never;
force?: never;
max_tokens?: never;
enable_hybrid?: never;
enable_reranking?: never;
prefer_implementation?: never;
};
required: string[];
};
})[];
export declare function setupMcpTools(server: Server, indexingService: IndexingService, searchService: SearchService): void;