HomeMCP Tools
AI Integration

21 AI Tools. Zero Hallucination.

The Model Context Protocol (MCP) is USB for AI — a universal plug that lets any AI assistant talk to any data source. Nomik exposes 21 graph-powered tools that give your AI precise codebase intelligence.

How It Works

🤖
AI Client
Cursor / Windsurf / Claude
↓ MCP Protocol ↓
Nomik MCP
21 tools exposed
↓ Graph Query ↓
🧬
Neo4j Graph
752+ nodes, 1850+ edges

The Difference

Without Nomik

  • AI searches for "checkout" → 53 files returned
  • Context window overflows, deep relationships truncated
  • AI hallucinates — fills gaps with plausible-but-wrong info
  • Every conversation starts from zero (no memory)
  • AI misses the cron job that also depends on your function

With Nomik MCP

  • AI calls nm_impact → 5 precise dependents returned
  • Graph traversal follows exact call chains and dependencies
  • Real data from Neo4j — no guessing, no hallucination
  • Persistent graph survives across sessions and restarts
  • Graph reveals: CronJob:dailySync → CALLS → syncToStripe()

All 21 Tools

Every tool is project-scoped via NOMIK_PROJECT_ID and accepts an explicit project parameter for cross-project queries.

nm_search

Search for nodes by name, path, or pattern. Supports wildcards and case-insensitive matching.

Example prompt
"Find all auth-related functions"
nm_impact

Downstream impact analysis with confidence filtering. Which nodes break if a symbol is modified.

Example prompt
"What breaks if I change parseFile?"
nm_trace

Shortest dependency chain between two symbols (names only).

Example prompt
"Trace the chain from scanCommand to neo4j"
nm_path

Detailed path between two entities with node types and edge types at each step.

Example prompt
"How does parseFile connect to neo4j?"
nm_context

Rich context for a file or function: contains, calls, calledBy, imports, inheritance.

Example prompt
"Give me context for graph.service.ts"
nm_health

Full health metrics: dead code, god objects, god files, duplicates, all 17 node type counts.

Example prompt
"Are there any dead code or god objects?"
nm_explain

Full symbol explanation: type, file, callers, callees, edge counts, container context.

Example prompt
"Explain the createGraphService function"
nm_db_impact

DB table/column impact: who reads from or writes to a specific table or column.

Example prompt
"Who writes to users.email?"
nm_changes

Recently modified nodes by updatedAt timestamp.

Example prompt
"What changed in the last hour?"
nm_onboard

Full codebase briefing: stats, languages, DB tables, APIs, env vars, high-risk functions.

Example prompt
"Give me a codebase overview"
nm_communities

Functional cluster detection. Groups of code that frequently call each other.

Example prompt
"Show me the code communities"
nm_flows

Execution flow tracing from entry points (routes, events, queues) through the call graph.

Example prompt
"Trace the request lifecycle for /api/checkout"
nm_wiki

Structured documentation data: file index, top functions, health report, service links.

Example prompt
"Generate documentation for this module"
nm_guard

Quality gate check: dead code, god files, duplicates against configurable thresholds.

Example prompt
"Does the codebase pass quality gates?"
nm_rules

Evaluate 9 architecture rules + custom Cypher rules from .nomik/rules.yaml.

Example prompt
"Run architecture rules check"
nm_rename

Graph-aware rename impact: all callers, importers, and affected files for a symbol.

Example prompt
"What files are affected if I rename parseFile?"
nm_diff

Architecture drift between two git SHAs: new/removed files, functions, and call edges.

Example prompt
"What changed architecturally since last release?"
nm_test_impact

Find test files affected by changing a symbol or file. Graph-based, no grep needed.

Example prompt
"Which tests should I run after changing parseFile?"
nm_audit

Dependency vulnerability check with graph blast radius — which files import vulnerable packages.

Example prompt
"Are there any vulnerable dependencies?"
nm_service_links

Cross-service dependencies: producer/consumer pairs for queues, events, and API calls.

Example prompt
"Show cross-service connections"
nm_projects

List all projects tracked in the knowledge graph with metadata.

Example prompt
"What projects does NOMIK track?"

Live Example: Impact Analysis

When you ask Cursor: "What happens if I modify updateUserProfile?"

AI sends tool call
{
  "tool": "nm_impact",
  "arguments": {
    "symbolId": "updateUserProfile",
    "depth": 3
  }
}
Nomik returns graph data
[
  { "name": "PUT /api/users/:id",
    "type": "Route", "depth": 1 },
  { "name": "syncToStripe",
    "type": "Function", "depth": 1 },
  { "name": "users [DBTable]",
    "type": "DBTable", "depth": 1 },
  { "name": "sendWelcomeEmail",
    "type": "Function", "depth": 2 }
]

IDE Setup

Cursor
setup
$ nomik setup-cursor
✔ .cursor/mcp.json created

Auto-creates config with Neo4j credentials and project ID.

Windsurf
setup
$ nomik setup-windsurf
✔ mcp_config.json created

Targets ~/.codeium/windsurf/mcp_config.json by default.

Claude Desktop
setup
$ nomik setup-claude
✔ claude_desktop_config.json updated

Auto-configures Claude Desktop's MCP settings.

stdio mode = zero config. Cursor and Windsurf launch the MCP server on demand. You don't need nomik serve for AI integration — only for the visualization dashboard.

Transport Options

TransportUse CaseHow
stdioCursor, Windsurf, Claude Desktop (local)Process spawned by the client — recommended
SSERemote access, web dashboardsHTTP server on configurable port
Streamable HTTPProduction / multi-clientStateless HTTP with streaming