MCP server for INECTA Food Knowledge Base - semantic search and dependency analysis for Business Central AL code and documentation
npm install inecta-food-knowledge-mcpMCP server providing 11 tools for semantic search and dependency analysis of Business Central documentation, code, and inecta University user manuals.
> Full Documentation: See TECHNICAL.md in the parent directory for system architecture, deployment, and operations.
Add to Claude Desktop config and restart:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
``json`
{
"mcpServers": {
"inecta-food-knowledge": {
"command": "npx",
"args": ["-y", "inecta-food-knowledge-mcp@latest"],
"env": {
"API_URL": "
"API_TOKEN": "
}
}
}
}
The server auto-installs and auto-updates via npx. Contact inecta for API credentials.
| Variable | Description |
|----------|-------------|
| API_URL | Override backend API URL |API_TOKEN
| | Override API authentication token |
Default credentials are built-in for inecta users. Contact inecta support for custom API access.
| Tool | Description |
|------|-------------|
| search_knowledge_base | Hybrid semantic + keyword search across all content |search_code
| | AL source code search with complexity filtering |find_similar_code
| | Find similar implementations using vector similarity |get_document_content
| | Fetch full document content by ID |
| Tool | Description |
|------|-------------|
| list_modules | List available BC modules in the knowledge base |
| Tool | Description |
|------|-------------|
| get_object_info | Unified object lookup by ID (37M or 50K range) or name |get_next_available_id
| | Get next available object ID for a module |
| Tool | Description |
|------|-------------|
| get_dependencies | Object dependency analysis (what calls what) |generate_call_graph
| | Generate Mermaid call graph diagrams |
| Tool | Description |
|------|-------------|
| map_event_chain | Map event publisher/subscriber chains |analyze_table_usage
| | Analyze which objects read/write to a table |
---
Primary search tool with hybrid semantic + BM25 search.
Parameters:
- query (required): Natural language search queryaudience
- : Target audience (developer, end_user, functional_user)content_types
- : Filter by content type:l1_documentation
- - Technical referencel2_documentation
- - User guidesal_code
- - AL source codeuniversity_article
- - inecta University articlesmodules
- : Array of modules to filter bytop_k
- : Number of results (default: 5, max: 20)
Unified AL object lookup. Accepts object ID (37M range or 50K range) OR object name.
Parameters:
- identifier (required): Object ID or object nameobject_type
- (required): codeunit, table, page, report, tableextension, pageextension, enum, querymodule
- : Optional module filter (useful to disambiguate conflicts)
Returns: Object name, both ID formats, module, and file path.
Examples:
``
get_object_info("37009705", "codeunit") → lookup by 37M ID
get_object_info("59705", "codeunit") → lookup by 50K ID (same object)
get_object_info("CaseManagementFunctionsINE", "codeunit") → lookup by name
Analyze object dependencies.
Parameters:
- module (required): Module name (e.g., "YPRODO")object_type
- (required): codeunit, table, page, or reportobject_id
- (required): Object ID (e.g., "37010147")depth
- : Dependency depth (default: 1)
Search AL source code with additional filtering.
Parameters:
- query (required): Code search querymodule
- : Optional module filterobject_type
- : Optional object type filtercomplexity
- : Filter by code complexity (simple, medium, complex)top_k
- : Number of results (default: 5)
Map event publisher/subscriber chains.
Parameters:
- event_name (required): Event name to search for (partial match supported)publisher_module
- : Optional publisher module filterpublisher_object_id
- : Optional publisher object ID filter
Analyze which objects interact with a table.
Parameters:
- table_name: Table name (partial match supported)table_id
- : Table ID (exact match)operation_types
- : Filter by operations (read, insert, modify, delete)limit
- : Maximum results (default: 100)
---
`bashInstall dependencies
npm install
Publishing
`bash
npm version patch
npm run build
npm publish
`Architecture
`
Claude Desktop
↓ MCP Protocol (stdio)
This MCP Server
↓ HTTP REST API
Backend API (Express.js)
↓
Pinecone + BM25 + Voyage AI + GCS + SQLite
`Changelog
$3
- Reorganized tools into 5 logical groups
- Added get_object_info (unified object lookup, replaces get_object_name and get_object_id)
- Removed deprecated tools: trace_call_stack, find_dead_code`UNLICENSED - Internal inecta use only