Semantiq v0.6.0 is here with two major capabilities: a full HTTP API server for flexible deployment, and local import resolution that improves dependency tracking accuracy.
HTTP API Server: Beyond MCP Stdio
Until now, Semantiq only communicated via MCP (Model Context Protocol) over stdio. This works great for AI coding assistants like Claude Code and Cursor, but limits integration options.
v0.6.0 introduces an HTTP API server that exposes all Semantiq capabilities over REST endpoints:
1# Start the HTTP server on port 80802semantiq serve --http-port 808034# Optional: Configure CORS for browser access5semantiq serve --http-port 8080 --cors-origin "http://localhost:3000"Available Endpoints
| Endpoint | Method | Description |
|---|---|---|
/health | GET | Health check for load balancers |
/stats | GET | Index statistics and calibration data |
/search | POST | Semantic code search |
/find-refs | POST | Find symbol references |
/deps | POST | Analyze file dependencies |
/explain | POST | Get detailed symbol explanations |
Built-In Safeguards
The HTTP server includes production-ready middleware:
- 1MB body limit — prevents memory exhaustion from oversized requests
- 50 concurrent requests — protects against request flooding
- Configurable CORS — secure cross-origin access for web UIs
- Structured JSON errors — consistent error responses for clients
Use Cases
The HTTP API supports new integration patterns:
- Custom UIs — Build web dashboards for code exploration
- CI/CD integration — Query the index during builds without MCP
- Multi-language clients — Any language with HTTP can use Semantiq
- Microservice deployment — Run Semantiq as a standalone service
Local Import Resolution: Following the Code
Previously, Semantiq tracked imports as raw strings. When your TypeScript file imported ./utils/helpers, Semantiq stored exactly that — the string ./utils/helpers.
v0.6.0 fixes this. Semantiq now resolves import paths to actual files on disk:
1// Your code2import { formatDate } from './utils/helpers';34// Old behavior: stores "./utils/helpers"5// New behavior: stores "/absolute/path/to/src/utils/helpers.ts"Why This Matters
Resolved paths improve find_refs accuracy. Consider this scenario:
1src/2 components/3 Button.tsx → import { theme } from '../styles'4 Card.tsx → import { theme } from '../styles'5 styles/6 index.ts → export const theme = { ... }Previously, searching for references to theme might miss these imports because the relative paths differ. Now, both imports resolve to the same absolute path, and find_refs correctly identifies them as references to the same symbol.
Supported Languages
Local import resolution works for:
| Language | Resolution Rules |
|---|---|
| JavaScript/TypeScript | .js, .ts, .tsx, index.* files |
| Python | .py files, __init__.py packages |
| Rust | mod.rs, lib.rs, file modules |
| Go | .go files in the same package |
Schema Migration
The new resolved_path column required a schema update (v3 → v4). Migration is automatic and incremental — your existing index is preserved, and resolved paths are populated on the next indexing pass.
Python Stdlib Detection
Semantiq now accurately distinguishes Python standard library imports from external dependencies:
1import os # ← Standard library2import sys # ← Standard library3import requests # ← External dependency4import numpy # ← External dependencyThis uses a built-in list of 200+ standard library modules with binary search for fast lookups. The classification affects how Semantiq displays dependencies — standard library imports are clearly labeled, making it easier to understand a file's external dependencies.
Symbol Parent Tracking
Symbols now track their parent context. When you search for a method, Semantiq tells you which class or struct it belongs to:
1// Before v0.6.02// search("process") → "process" (function)34// After v0.6.05// search("process") → "process" (method of DataProcessor)This context helps when exploring unfamiliar codebases. Instead of seeing isolated function names, you understand the full hierarchy.
Docker Deployment
Semantiq is now Docker-ready with a multi-stage Dockerfile optimized for deployment:
1# Pull the official image2docker pull ghcr.io/semantiq/semantiq:latest34# Run as a service5docker run -p 8080:8080 -v /your/code:/workspace \6 ghcr.io/semantiq/semantiq serve --http-port 8080The image is Railway-ready for one-click cloud deployment. Mount your codebase, expose the HTTP port, and you have a semantic code search service.
Upgrade Guide
Upgrading is straightforward:
1# Update to v0.6.02npm update -g semantiq-mcp34# Your existing index migrates automatically5# Just run the server as usual6semantiq serveFor HTTP API usage, add the --http-port flag:
semantiq serve --http-port 8080What's Next
v0.6.0 adds infrastructure for distributed Semantiq deployments. Coming releases will build on this:
- Team indexes — Share indexes across distributed teams
- Cloud sync — Automatic index synchronization
- Multi-repo search — Query across multiple codebases
The HTTP API supports integration patterns beyond MCP stdio. Let us know what you build with it.
Get started today:
npm install -g semantiq-mcp
semantiq init
semantiq serve --http-port 8080Questions? Feedback? Join the discussion on GitHub.