Skip to main content

Semantic codebase indexer and MCP server for Claude Code

Project description

Sema

Sema

PyPI version Python versions VS Code Marketplace Platform: macOS | Linux License: MIT

Love Cursor? You'll love Sema.

Sema is a VS Code extension, an agentic assistant, and a semantic indexer — a Cursor-style chat that already knows your codebase, except you pick the provider and the model, and you can switch mid-conversation.

  • The indexer gives every provider real semantic search. Through the extension, all providers use it; and Claude Code and Codex can use it directly in their official apps or CLIs — over MCP, no sema extension needed (see docs). Either way they stop burning tokens hunting for files.
  • The extension gives you one chat panel with eight engines — Claude Code, Codex, Open Code, Anthropic, OpenAI, DeepSeek, OpenRouter, Together AI.
  • Agent permission controls let Claude Code and Codex pause protected actions for an inline Allow/Reject decision in the Sema chat, or use their clearly marked bypass mode in a trusted sandbox. Each provider keeps its own permission choice.

Sema uses your existing Claude Code and Codex subscription — no extra API key, no re-login. Or bring your own key for any API provider.

Use both, or either one alone.

Experimental · macOS and Linux · Requires Python 3.11+ · Nothing leaves your machine. Disclaimer

Install

1. Install the CLI (bootstraps uv + Python if needed):

curl -fsSL https://raw.githubusercontent.com/masihmoloodian/sema/main/install.sh | sh

2. Install the extension from the VS Code Marketplace (or search "sema" in the Extensions view). Want to build it yourself? See the docs.

3. Index and register. Open your project, then use the extension's Manage panel to build the index and register your AI CLIs in a click — or do it from the CLI:

cd your-project
sema index .     # build the local semantic index
sema setup       # register with every detected CLI: Claude Code, Codex, opencode, Grok Build

Keep the local coding-agent CLIs current so newly released models and effort levels are available:

sema update --check              # show installed Claude/Codex/opencode versions
sema update                      # run every installed agent's official updater
sema update --provider codex     # update one agent only (repeatable)

The extension exposes the same workflow under Manage → Update agent CLIs…. Reload VS Code after an update so its model picker reflects the installed CLI.

Want just the extension or just the index? Both work standalone. Plus manual installs, requirements, and troubleshooting — for more details see the Installation guide.

📦 sema-mcp on PyPI · 🧩 Extension on the VS Code Marketplace

Why

Cursor is great — it's also a subscription and a walled garden. Claude Code and Codex are great too, but they lock you to one model per session, and they start every session cold: burn tokens just navigating before they answer anything.

Sema indexes your code once, locally. Your assistant searches it instead — typically 4–11× fewer tokens per question. And check_reuse() tells it whether a helper already exists before it writes a fourth one.

4–11× fewer tokens per question
98% reuse-vs-build accuracy (50-example eval)
~150 tokens per search — signatures, not whole files
0 code that leaves your machine

Why sema exists, in full → · Benchmarks →

Documentation

Start here: Installation · sema for VS Code · CLI reference

Installation Platforms, requirements, install paths, from source
sema for VS Code The extension — chat, agent, search, reuse
Claude Code · Codex · opencode · VS Code workspace Register sema with your assistant
Multiple projects Serve many repos from one registration
CLI reference Every sema command
MCP tools The tools your AI assistant calls
Supported languages AST-aware vs text-aware indexing
Configuration Config file, env vars, .gitignore
Managing sema Update, remove, and when to re-index
Troubleshooting Fixes for common issues
Why sema · Benchmarks · FAQ · Roadmap Background and details
Architecture · Contributing How it works, how to extend it

License

MIT — see LICENSE. Copyright (c) 2026 Masih Moloodian.

Masih Moloodian · masihmoloodian@gmail.com · Issues

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sema_mcp-0.4.0.tar.gz (56.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sema_mcp-0.4.0-py3-none-any.whl (69.2 kB view details)

Uploaded Python 3

File details

Details for the file sema_mcp-0.4.0.tar.gz.

File metadata

  • Download URL: sema_mcp-0.4.0.tar.gz
  • Upload date:
  • Size: 56.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for sema_mcp-0.4.0.tar.gz
Algorithm Hash digest
SHA256 bfbc26fe85089c8aeb31a9c47344f832ecc627ace1e6cae5fc72c8a551ea5958
MD5 6e84aae012911822e023128dd7cde449
BLAKE2b-256 8a0c370c5cdbb7669df4d010eb0957ca163502a5e58578a11ddba0a4fd179756

See more details on using hashes here.

File details

Details for the file sema_mcp-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: sema_mcp-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 69.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for sema_mcp-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f432f49c885343b7b5bf4f8240a7a5c6bb9ef3f7ea3efa967b8eba9df8d30fb4
MD5 780053c42249662ae01d0b01378df263
BLAKE2b-256 40c3176485e34eab3eec1580f8f4b65f8ad9b948ce033eb973b8d56af7be61e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page