cie_semantic_searchLABSCO SUMMARY
Structured answers about code, so the agent stops re-reading files.
The distinctive tools are the ones grep cannot fake: a traced call path with file and line at each hop, the implementations of an interface, and cie_verify_absence for security work where you need to show something is not there. It runs entirely on your machine, and it degrades cleanly — without an embedding provider you lose semantic search and keep everything else.
What it is
CIE indexes a repository into a local embedded database and exposes it to an agent as MCP tools: find code by meaning, trace how execution reaches a function, list the HTTP endpoints, and read source without opening files. A single binary does the indexing, the querying and the MCP serving.
What you get
- Navigation and search —
cie_grep,cie_semantic_search,cie_find_function,cie_find_type,cie_find_similar_functions,cie_list_files,cie_list_functions_in_file - Call graph —
cie_find_callers,cie_find_callees,cie_trace_pathfor the path from an entry point to a target, andcie_get_call_graph - Understanding —
cie_analyzefor architectural analysis,cie_get_function_code,cie_directory_summary,cie_find_implementations,cie_get_file_summary - API surface —
cie_list_endpointsfor HTTP routes from common Go frameworks,cie_list_servicesfor gRPC services from .proto files - Audit and system —
cie_verify_absenceto prove a pattern does not exist, pluscie_index_status,cie_search_textandcie_raw_query - 20+ tools in total; only
cie_semantic_searchneeds embeddings, the rest work without them
Requirements
Install the CLI with brew tap kraklabs/cie && brew install cie, the install script, or a release binary. Then cie init -y and cie index in the repo, and register cie --mcp with your client. Indexed data stays on the machine, by default under ~/.cie/data/<project_id>. Embeddings are optional: for semantic search configure a provider in .cie/project.yaml — Ollama with nomic-embed-text, or OpenAI or Nomic via OPENAI_API_KEY or NOMIC_API_KEY. Dual-licensed AGPL v3 or commercial.
Setup effort
One command — brew tap kraklabs/cie && brew install cie
USE CASES
Finding code when you do not know the identifier
Search by meaning — "where is authentication middleware" — and get ranked functions with file and line.
Explaining how execution reaches a function
Trace the path from an entry point to the target and read each hop, including interface dispatch.
Mapping a service's API surface
List the HTTP routes and gRPC methods the code registers, rather than trusting the docs.
Proving a risky pattern is gone
Verify a pattern is absent across the index as evidence for a security review.
28 tools
Listed in project docs. Your client may show a different list.
cie_grepcie_search_textcie_verify_absencecie_find_by_signaturecie_find_functioncie_find_callerscie_find_calleescie_get_function_codecie_find_typecie_find_implementationscie_list_functions_in_filecie_find_similar_functionscie_get_file_summarycie_get_type_codecie_analyzecie_trace_pathcie_get_call_graphcie_directory_summarycie_list_endpointscie_list_filescie_list_servicescie_function_historycie_find_introductioncie_blame_functioncie_index_statuscie_raw_querycie_schemaBEFORE YOU INSTALL
What to know first
Tools you get
28 tools named in the project's documentation.
Requires
cie on PATH
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
Server setup
brew tap kraklabs/cie && brew install cieMCP Clients
Claude Code, Cursor
{
"mcpServers": {
"cie": {
"command": "cie",
"args": [
"--mcp"
]
}
}
}