S

Semble

Fast code search for agents that returns the relevant code instead of grep-and-read loops, aiming to use far fewer tokens. Includes an MCP server.

🧠 Code understandingGitHub stars6,253Updated 2026-10-16By MinishLabLicense: MITAuth: Not checked yetGitHub ↗

Test results

Last passed 2026-10-22
Claude CodePassed2026-10-22 · install, connect, tools, agent taskTested with Claude Code 2.1.296 · semble 0.7.0 · connected in 2.7s
CursorPassed2026-10-22 · install, connect, tools, agent taskTested with Cursor CLI 2026.10.19-6bbf2c4 · semble 0.7.0 · connected in 1.3s
Claude DesktopPassed2026-10-22 · install, connect, tools, agent taskTested with Claude Desktop 2.37337.1 (Linux beta, Electron 44.7.0) · semble 0.7.0 · connected in 2.8s
ChatGPT (Codex)Passed2026-10-22 · install, connect, tools, agent taskTested with Codex CLI 0.162.0-alpha.17.2 · semble 0.7.0 · connect time not recorded

Server package tested: semble 0.7.0 (uv, Python 3.12.15; resolved 2026-10-22)

Direct and key dependencies as resolved: anyio 4.15.1 · mcp 2.3.0 · model2vec 0.10.0 · numpy 2.5.4 · orjson 3.13.0 · pathspec 1.1.1 · pydantic 2.14.1 · pydantic_core 2.50.1 · questionary 2.1.1 · semble-grammars 0.1.2 · sse-starlette 3.5.0 · starlette 1.9.0 · tqdm 4.70.1 · typing_extensions 4.16.0 · uvicorn 0.54.0 · vicinity 0.4.6

All 51 resolved dependencies
annotated-types==0.8.0
anyio==4.15.1
attrs==26.1.0
cffi==2.1.1
click==8.5.0
cloudpickle==3.1.2
cryptography==50.0.2
filelock==4.2.4
fsspec==2026.9.0
h11==0.16.0
hf-xet==1.7.0
httpcore2==2.16.0
httpx2==2.16.0
huggingface_hub==2.2.0
idna==3.20
Jinja2==3.1.6
joblib==1.6.0
jsonschema==4.26.0
jsonschema-specifications==2025.9.1
MarkupSafe==3.0.4
mcp==2.3.0
mcp-types==2.3.0
model2vec==0.10.0
numpy==2.5.4
opentelemetry-api==1.45.1
orjson==3.13.0
packaging==26.3
pathspec==1.1.1
prompt_toolkit==3.0.53
pycparser==3.12
pydantic==2.14.1
pydantic_core==2.50.1
PyJWT==2.15.1
python-multipart==0.0.32
PyYAML==6.0.3
questionary==2.1.1
referencing==0.37.0
rpds-py==2026.9.1
safetensors==0.8.0
semble-grammars==0.1.2
sse-starlette==3.5.0
starlette==1.9.0
tokenizers==0.23.3
tqdm==4.70.1
tree-sitter==0.26.0
truststore==0.10.5
typing-inspection==0.4.4
typing_extensions==4.16.0
uvicorn==0.54.0
vicinity==0.4.6
wcwidth==0.9.3

Captured with: uvx --from semble[mcp] python (importlib.metadata in the same uvx env; equivalent to uv pip freeze).

Full result per app: Does it work with Claude Code? · Does it work with Cursor? · Does it work with Claude Desktop? · Does it work with ChatGPT (Codex)?

Protocol: starts, 2 tools listed · 2026-10-22 · connected in 1.2s

Real test

Passed

One run from our records. When two runs share a date, we show a failure if there is one.

Client
Claude Desktop · Claude Desktop 2.37337.1 (Linux beta, Electron 44.7.0)
Date
Oct 22, 2026
The task we gave
Using only the semble MCP tools, look at the code repository at /workspace/timmy/harness/sandbox/coderepo. Find which file defines the function compute_total and which other file calls it. Reply with both file names.
What it promised
details not recorded for this run
What happened

2 tool calls recorded. The names were not stored on this run.

Tool result

{"content": [{"text": "{\"query\": \"compute_total function definition\", \"results\": [{\"file_path\": \"utils.py\", \"start_line\": 1, \"end_line\": 4, \"score\": 0.019672131147540985, \"content\": \"from billing import compute_total\\n\\ndef format_receipt(prices):\\n    return f\\\"Total: {compute_total(prices, 0.08)}\\\"\"}, {\"file_path\": \"billing.py\", \"start_line\": 1, \"end_line\": 4, \"score\": 0.01935483870967742, \"content\": \"def compute_total(prices, tax_rate):\\n    \\\"\\\"\\\"Return the total of prices plus tax.\\\"\\\"\\\"\\n    subtotal = sum(prices)\\n    return round(subtotal * (1 + tax_rate), 2)\"}]}", "type": "text"}], "isError": false, "structuredContent": {"result": "{\"query\": \"compute_total function definition\", \"results\": [{\"file_path\": \"utils.py\", \"start_line\": 1, \"end_line\": 4, \"score\": 0.019672131147540985, \"content\": \"from billing import compute_total\\n\\ndef format_receipt(prices):\\n    return f\\\"Total: {compute_total(prices, 0.08)}\\\"\"}, {\"file_path\": \"billing.py\", \"start_line\": 1, \"end_line\": 4, \"score\": 0.01935483870967742, \"content\": \"def compute_total(prices, tax_rate):\\n    \\\"\\\"\\\"Return the total of prices plus tax.\\\"\\\"\\\"\\n    subtotal = sum(prices)\\n    return round(subtotal * (1 + tax_rate), 2)\"}]}"}}

Agent reply

Defined in: billing.py; Called from: utils.py (inside format_receipt, which calls compute_total(prices, 0.08))
Verdict
Passed

Install

claude mcp add semble -- uvx --from semble[mcp] semble

Run in your terminal. This exact command is what our harness runs in Claude Code; see the results above.

{
  "mcpServers": {
    "semble": {
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  }
}

Save as .cursor/mcp.json. This exact config is what our harness runs in Cursor; see the results above.

{
  "mcpServers": {
    "semble": {
      "command": "uvx",
      "args": [
        "--from",
        "semble[mcp]",
        "semble"
      ]
    }
  }
}

Add to claude_desktop_config.json and restart Claude Desktop. Tested on the Linux beta; see the results above.

[mcp_servers.semble]
command = "uvx"
args = ["--from", "semble[mcp]", "semble"]

Add to ~/.codex/config.toml (shared by the ChatGPT (Codex) CLI and the ChatGPT desktop app; Codex runs inside the ChatGPT desktop app). Tested with the ChatGPT (Codex) CLI bundled in the ChatGPT desktop app; see the results above.

Not connecting? Troubleshooting: Claude Code · Cursor · Claude Desktop · ChatGPT (Codex)

Test history

DateCheckResultVersions tested
2026-10-22Protocol (direct stdio)Protocol: starts, 2 tools listedsemble 0.7.0 · server reported v0.7.0
2026-10-22Claude CodePassed
install, connect, tools, agent task
Claude Code 2.1.296 · semble 0.7.0
2026-10-22CursorPassed
install, connect, tools, agent task
Cursor CLI 2026.10.19-6bbf2c4 · semble 0.7.0
2026-10-22Claude DesktopPassed
install, connect, tools, agent task
Claude Desktop 2.37337.1 (Linux beta, Electron 44.7.0) · semble 0.7.0
2026-10-22ChatGPT (Codex)Passed
install, connect, tools, agent task
Codex CLI 0.162.0-alpha.17.2 · semble 0.7.0

Tools seen by our harness (2)

searchfind_related
Sponsors