Codeindex vs Agent Lsp

A side-by-side look at the Codeindex and Agent Lsp MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Codeindex logoCodeindexBiology & Bioinformatics · Local subprocess (stdio)Structural code intelligence over MCP: symbols, callers, imports and blast radius, 40+ languages.59GoodAuth: not declaredAgent Lsp logoAgent LspDatabases · Local subprocess (stdio)Stateful MCP server over real language servers. 50 tools, 30 CI-verified languages, 20 agent workflows. Persistent sessions keep the index warm across files and projects. Speculative execution simulates edits in memory before writing to disk.65GreatAuth: no auth required

Verdict: choose Codeindex for biology & bioinformatics work as a local process; choose Agent Lsp for databases as a local process. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Codeindex logoChoose Codeindex when

  • You need dedicated capabilities in the Biology & Bioinformatics domain.
  • You prefer a local stdio subprocess transport.
  • You want tools like status, search, find_symbol.
Explore Codeindex

Agent Lsp logoChoose Agent Lsp when

  • You need dedicated capabilities in the Databases domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: No auth required.
  • You have the keys it needs: AGENT_LSP_OUTPUT_FORMAT.
  • You want tools like activate_skill, add_workspace_folder, apply_edit.
Explore Agent Lsp

Feature & specification comparison

Rows where the two servers differ are marked.

SpecCodeindex logoCodeindexAgent Lsp logoAgent Lsp
CategoryBiology & BioinformaticsDatabases
Quality signal59/100 · Good65/100 · Great
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Local subprocess (stdio)
AuthNot declaredNo auth required
PricingNot declaredFree
Required env varsNone listedAGENT_LSP_OUTPUT_FORMAT
Verified ownerCommunity listingCommunity listing
GitHub stars3163
Directory activity 5 views 0 installs 0 upvotes 10 views 0 installs 0 upvotes
Tools1665

Tools & capabilities

Codeindex tools 16

  • statusIndex stats: file count, symbol count, indexing state, token savings %, the indexed `workspace` and whether a `watcher` is live
  • searchTrigram-accelerated full-text search across all indexed files
  • find_symbolFind symbol definitions (functions, structs, classes…) by name
  • find_wordExact word/identifier lookup in the inverted word index
  • find_callersCall sites of a symbol, each with the function that holds it. Matched by name, so a same-named definition elsewhere is included
  • get_outlineStructural outline of a file (symbols, line counts)
  • get_treeDirectory tree with file metadata
  • get_importsWhat files does a given file import/depend on
  • get_imported_byReverse dependencies — who imports this file
  • get_change_impactTransitive blast radius: what breaks if a file changes
  • plan_changeFull refactor plan for a symbol or file — definitions, callers, file role, literals, blast radius
  • get_hot_filesRecently changed files sorted by recency
  • +4 more on the listing page

Agent Lsp tools 65

  • activate_skillActivate phase enforcement for a skill workflow. Once active, tool calls are checked against the skill's phase permissions. Phases advance automatically as you call tools from later phases. Use this at the start of a skill workflow to enable safety guardrails that prevent out-of-order operations (e.g., applying edits before completing blast-radius analysis).
  • add_workspace_folderAdd a directory to the LSP workspace, enabling cross-repo references, definitions, and diagnostics. Useful when working across a library and its consumers — after adding the consumer repo, find_references on a library function returns call sites in both repos. Requires start_lsp to have been called first. Language servers that support multi-root workspaces (gopls, rust-analyzer, typescript-language-server) will re-index the new folder automatically.
  • apply_editApply an edit to a file. Two modes: (1) WorkspaceEdit mode: pass workspace_edit with positional changes returned by rename_symbol or format_document; (2) Text-match mode: pass file_path + old_text + new_text to find and replace text. For full function/method body replacements, consider replace_symbol_body which resolves by symbol name instead of text matching. Always call preview_edit first to verify the edit is safe.
  • blast_radiusEnumerate all exported symbols in the specified files, resolve their references across the workspace, and partition callers into test vs non-test. Returns affected_symbols (name, file, line), test_callers (with enclosing test function names), and non_test_callers. Use before editing a file to understand blast radius. Set include_transitive=true to surface second-order callers (callers of callers). Set scope='all' to include unexported symbols for comprehensive dead code detection.
  • callersFind all incoming callers of a function or method. Shortcut for find_callers with direction='incoming'. Use before deleting or refactoring a function to see who depends on it.
  • close_documentClose a file in the LSP server. Use this tool when you're done with a file to free up resources and reduce memory usage. It's good practice to close files that are no longer being actively analyzed, especially in long-running sessions or when working with large codebases.
  • commit_sessionCommit a simulation session. With apply=true, writes changes to disk and notifies LSP servers. With apply=false, returns a unified diff patch. Use after evaluate_session confirms the changes are safe.
  • create_simulation_sessionCreate a new speculative code session for simulating edits without committing to disk. Returns a session ID. Baseline diagnostics are captured lazily on first edit per file. Use this to explore what-if scenarios before applying changes.
  • deactivate_skillDeactivate phase enforcement for the currently active skill. Tool calls will no longer be checked against phase permissions. Call this when the skill workflow is complete or when you need to exit the workflow early.
  • destroy_sessionDestroy a simulation session and release all resources. Call this after commit or discard to clean up. Sessions in terminal states (committed, discarded, destroyed) cannot be reused.
  • detect_changesRun git diff to identify changed files, analyze their exported symbols via blast_radius, and return affected symbols with risk classification. Risk levels: 'high' (callers from multiple packages), 'medium' (callers from same package only), 'low' (zero non-test callers). Use before committing to understand the blast radius of uncommitted or recently committed changes.
  • detect_lsp_serversScan a workspace directory for source languages and check PATH for the corresponding LSP server binaries. Returns detected workspace languages (ranked by prevalence), installed servers with their paths, and a suggested_config array ready to paste into the agent-lsp MCP server args. Use this to set up agent-lsp for a new project or verify your configuration.
  • +53 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Codeindex

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "codeindex": {
      "command": "npx",
      "args": [
        "-y",
        "@munhq/codeindex"
      ]
    }
  }
}

Agent Lsp

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "blackwell-systems-agent-lsp": {
      "command": "uvx",
      "args": [
        "agent-lsp"
      ],
      "env": {
        "AGENT_LSP_OUTPUT_FORMAT": "YOUR_AGENT_LSP_OUTPUT_FORMAT_HERE"
      }
    }
  }
}

Frequently asked questions

Codeindex is categorized under Biology & Bioinformatics and uses a local stdio subprocess. Agent Lsp belongs to Databases and uses a local stdio subprocess. Pick Codeindex for biology & bioinformatics work and Agent Lsp for databases.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Codeindex has no declared pricing — check the project's own site. Agent Lsp is listed as free. Auth: no auth required. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add codeindex and blackwell-systems-agent-lsp as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Codeindex has a quality signal of 59/100 (Good) with 5 views, 0 installs and 3 GitHub stars. Agent Lsp has 65/100 (Great) with 10 views, 0 installs and 163 GitHub stars.