Sem

MCP server by Ataraxy Labs

Get entity-level diffs, impact analysis, blame and code context from git repositories, parsed with tree-sitter across 28 languages.

Runs locally (Runs on your machine: its page has the install command)Runs with npx

Install Sem

Runs on your machine. Your client starts it with this command:

npx -y @ataraxy-labs/sem

Needs Node.js on your computer. The setup steps below show where the command goes in each client.

Share this server

Opens this page, with the install command and setup steps.

mcp.tc/i/sem

About

Sem is a semantic version control tool that sits on top of Git. It parses code with tree-sitter, extracts functions, classes and methods as entities, and reports which entities changed instead of which lines. Through MCP, agents get the same verbs as the command line: find entities, list callers and references, run impact analysis, check a change, and produce review certificates.

It runs locally over stdio from the @ataraxy-labs/sem npm package, or from the sem binary with the mcp subcommand. It works in any Git repository with no setup and needs no API key. Cloud-backed queries are optional and opt-in per repository.

What you can do

  • Find functions, classes and methods by name
  • List callers and references of an entity
  • Run impact analysis and find affected tests
  • Diff at entity level instead of by line
  • Check a change with the project's own compiler, linter and tests
  • Generate a review certificate for a commit range
  • View entity history and last-changed blame

Tools

Local servers list their tools once they’re running, and this one doesn’t publish its list in advance. Your client shows them after you add it.

Example prompts

  • Which functions changed between main and HEAD in this repo?

  • Find who calls parse_config and which tests it affects.

  • Run a semantic check on my uncommitted changes.

  • Generate a review certificate for main..HEAD.

Set up

Every client starts Sem on your machine with the same command. Pick yours; the page remembers your choice.

Claude Code

  1. Run this in a terminal, in your project folder:
claude mcp add --transport stdio sem -- npx -y @ataraxy-labs/sem
  1. Start Claude Code and type /mcp. sem should show as connected.

Add --scope user to make it available in every project.

Claude Desktop

  1. Open Settings → Developer → Edit Config. It opens claude_desktop_config.json. Add:
claude_desktop_config.json
{
  "mcpServers": {
    "sem": {
      "command": "npx",
      "args": [
        "-y",
        "@ataraxy-labs/sem"
      ]
    }
  }
}
  1. Save the file and restart Claude Desktop.

Needs Node.js on your computer. The file lives in ~/Library/Application Support/Claude/ on macOS and %APPDATA%\Claude\ on Windows.

Cursor

Or add it by hand to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (this project):

mcp.json
{
  "mcpServers": {
    "sem": {
      "command": "npx",
      "args": [
        "-y",
        "@ataraxy-labs/sem"
      ]
    }
  }
}

Needs Node.js on your computer.

VS Code

Or from a terminal:

code --add-mcp '{"name":"sem","type":"stdio","command":"npx","args":["-y","@ataraxy-labs/sem"]}'

Or commit it to the repo in .vscode/mcp.json:

.vscode/mcp.json
{
  "servers": {
    "sem": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@ataraxy-labs/sem"
      ]
    }
  }
}

Needs Node.js on your computer.

Devin Desktop

  1. Add it to ~/.config/devin/mcp_config.json (macOS and Linux) or %APPDATA%\devin\mcp_config.json (Windows):
mcp_config.json
{
  "mcpServers": {
    "sem": {
      "command": "npx",
      "args": [
        "-y",
        "@ataraxy-labs/sem"
      ]
    }
  }
}
  1. Refresh the MCP server list in Cascade.

Devin Desktop is the new name for Windsurf.

Codex

codex mcp add sem -- npx -y @ataraxy-labs/sem

Or edit ~/.codex/config.toml directly:

config.toml
[mcp_servers.sem]
command = "npx"
args = ["-y", "@ataraxy-labs/sem"]

Needs Node.js on your computer.

Gemini CLI

gemini mcp add sem npx -- -y @ataraxy-labs/sem

This adds it to the current project. Add -s user to use it everywhere.

Any client

Most clients that start local servers accept this shape:

{
  "mcpServers": {
    "sem": {
      "command": "npx",
      "args": [
        "-y",
        "@ataraxy-labs/sem"
      ]
    }
  }
}

Zed puts servers under context_servers in its settings, with the same command, args and env fields.

Needs Node.js on your computer.

Embed

Show Sem in a README or on your site. Each embed links to this page, uses the server’s own install command, and sets no cookies. How embeds work

The card, the iframe and the JSON are in English. Add ?lang=it, fr, de or es to their address for another language.

README badge

Badge preview, lightBadge preview, dark
Markdown
[![Sem on mcp.tc](https://mcp.tc/i/sem/badge.svg)](https://mcp.tc/i/sem)
HTML
<a href="https://mcp.tc/i/sem"><img src="https://mcp.tc/i/sem/badge.svg" alt="Sem on mcp.tc" height="20"></a>

It follows the reader’s light or dark mode. Add ?theme=light or ?theme=dark to fix it, or ?style=compact to show the mark without the word.

Website card

HTML
<script src="https://mcp.tc/w/sem.js" async></script>

The card appears where the tag is. Add data-theme="dark" or data-size="compact" to the tag to change it. The file holds everything it needs, so it makes no other requests and sets no cookies.

iframe

HTML
<iframe src="https://mcp.tc/embed/sem" title="Sem on mcp.tc" width="420" height="200" loading="lazy" allow="clipboard-write" style="border:0;border-radius:8px;max-width:100%"></iframe>

Use it on pages that don’t allow scripts. Add ?theme=light or ?theme=dark to the address to fix the colors.

JSON

The listing as data for your own pages and tools: name, tagline, install command, tools and the “Add to” links. Any site can read it (CORS is open).

https://mcp.tc/i/sem.json

What each field means

AI prompt

Paste this into an AI coding assistant, such as Claude Code or Cursor, and it adds the Sem card to your site.

Markdown
Add the mcp.tc card for Sem, an MCP server, to my website. It is one static script: no build step, no package to install, no cookies.

Put this tag where the card should appear. The card renders right before it:

```html
<script src="https://mcp.tc/w/sem.js" async></script>
```

To show the card somewhere else, put this placeholder there and load the same script once, for example before `</body>`. Keep the link inside: visitors without JavaScript see it.

```html
<div data-mcptc="sem"><a href="https://mcp.tc/i/sem">Sem on mcp.tc</a></div>
```

Options:
- `data-theme="light"` or `"dark"` on the tag or the placeholder fixes the colors. Without it, the card follows the visitor’s light or dark mode.
- `data-size="compact"` gives a smaller card without the tagline.
- The CSS variable `--mcptc-max-width` on the placeholder or a parent sets the width (default `520px`).
- `?lang=` on the script URL sets the card’s language: `en`, `it`, `fr`, `de` or `es`.

If the site has a Content Security Policy, allow `script-src https://mcp.tc` and `img-src data:` (the icon is inline).

For a README or other Markdown docs, use the badge instead:

```markdown
[![Sem on mcp.tc](https://mcp.tc/i/sem/badge.svg)](https://mcp.tc/i/sem)
```

Reference: https://mcp.tc/embed

Change history

This server runs on your computer, so we follow its npm package: each new version shows up here, with edits by its owner.

Follow Sem and we’ll email you when something changes.

  1. , Automatic check

    Tracking started: version 0.27.0.

FAQ

Can I paste mcp.tc/i/sem into my MCP client?

No. Sem runs on your own computer, started by your client, so it has no web address to connect to. The quick link is the page to share; the install command is npx -y @ataraxy-labs/sem.

Does Sem need an API key?

No. It doesn’t declare any keys or environment variables. It runs with your user account’s permissions, so check what its tools can reach.

Is Sem a remote or a local server?

Local. Your client starts it as a process on your computer with npx -y @ataraxy-labs/sem, which needs Node.js.

What can Sem do?

You can find functions, classes and methods by name, list callers and references of an entity and run impact analysis and find affected tests.

Which clients can use it?

Any client that starts local servers: Claude Code, Claude Desktop, Cursor, VS Code, Devin Desktop, Codex, Gemini CLI, Zed and others. claude.ai and ChatGPT only connect to remote servers.

Does mcp.tc track changes to Sem?

Partly. It runs on your computer, so we follow its npm package: its History tab shows each new version and edits by its owner. Follow the listing to get an email when it changes.

Who wrote this page?

mcp.tc’s robot read Sem’s public metadata (its package and repository pages), and an AI model drafted the text from it. A person reviews anything the checks can’t confirm. The text can still be wrong, so if you spot a mistake, use Report this listing on this page.

mcp.tc isn’t affiliated with Ataraxy Labs. This page was built from Sem’s public metadata, last checked on 5 Oct 2026, and an AI model wrote the description, so it can be wrong. Names and marks belong to their owners. Something off? Report this listing.