GitHub
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
Description from the maker (original English)
Bounded Scala compiler, build, test, type, effect, symbol, and SemanticDB evidence for agents.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Download the maker’s .mcpb file
The link goes to the maker’s own file; we do not host or repackage it. Open the file and Claude Desktop installs it.
Run this in your terminal
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account DmytroMitin, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.1.0-alpha.3) reached the registry 2 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need MCPB on your computer.
In the same category: GitHub, Desktop Commander, Cloudflare MCP
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
GitHub’s official server lets AI read and manage code, issues and pull requests in your account. Use GitHub’s hosted version or run it locally with Docker.
MCP server for terminal commands, file operations, and process management
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Experimental semantic tooling for Scala and functional-programming projects used by coding agents.
The harness is a bounded semantic evidence layer, not a replacement for the Scala compiler, sbt, tests, Metals, or other IDE/LSP tooling. Compiler, build, and test results remain the final correctness oracle. See docs/project-status.md for current evidence and readiness limits and docs/semantic-tooling-positioning.md for the product boundary. Technical evaluators can use docs/early-feedback.md to report a concrete real-project comparison.
The current tree is the standalone experimental public-alpha source product under the Apache-2.0 license. It was published from an independently constructed, audited clean root followed only by reviewed public-product commits. The earlier mixed development history is retained separately in a private archive and is not part of this public repository.
Mutable source main reports 0.1.0-alpha.4-SNAPSHOT for source development only. No Alpha 4 Central artifact, supported channel, tag, GitHub Release, or release-readiness claim is established. The exact eight-module 0.1.0-alpha.3 release is published on Maven Central, and the public main two-application Coursier channel selects it. Fresh outsider-like JDK 21 install/runtime/update/uninstall through the actual public raw-GitHub URL and Maven Central passed, as did commit-pinned reproduction. Both exact Alpha 2 and Alpha 3 application routes now have bounded supported- distribution READY evidence. The immutable 0.1.0-alpha.3 lightweight tag identifies commit 075a60bfb7d7677d7fdfcc2369c9ffe41c8b32a8, whose two clean builds reproduced all 32 public Maven primaries. Its GitHub prerelease has normal generated source archives plus the exact Linux x86_64 MCPB used by the active official Registry record. The immutable 0.1.0-alpha.2 tag and prerelease retain the independently qualified supported route and source identity for its 32 Central primaries.
The current supported packaged route is exact 0.1.0-alpha.3 on JDK 21. Install the CLI and generic stdio MCP server first:
cs install --default-channels=false \
--channel https://raw.githubusercontent.com/DmytroMitin/scala-semantic-harness/main/distribution/coursier/channel.json \ semantic-scala semantic-scala-mcp semantic-scala version
Then choose the integration that the agent client supports: the complete CLI, the curated exact-eight MCP projection, and/or the immutable alpha-2 agent skill. Copying this repository's thin skill wrappers into another project is not supported; install the canonical skill from the 0.1.0-alpha.2 tag.
The source tree also contains a generated lightweight Codex marketplace that packages the canonical skill and registers the separately installed semantic-scala-mcp command. It contains no bundled runtime or hidden downloader. Install its exact Alpha-3 runtime prerequisite from the immutable release tag, then add the public marketplace at the independently immutable Task 278 source commit:
cs install --default-channels=false \
--channel https://raw.githubusercontent.com/DmytroMitin/scala-semantic-harness/0.1.0-alpha.3/distribution/coursier/channel.json \ semantic-scala semantic-scala-mcp semantic-scala version codex plugin marketplace add DmytroMitin/scala-semantic-harness \ --ref 7577f9e429505926eab8728626836ea1cd7ec083 codex plugin add semantic-scala@scala-semantic-harness
The version command must report 0.1.0-alpha.3, and Codex must inherit an ordinary PATH containing semantic-scala-mcp. An anonymous public-source fetch, isolated Codex CLI 0.162.1 install, exact-eight registration, and one read-only client-mediated semantic query passed on Linux on 16 October 2026. Desktop GUI PATH inheritance and execution remain unqualified. See docs/agent-onboarding.md for the safe first query, build-side-effect boundary, and separate rollback commands.
docs/agent-onboarding.md gives copy-ready Codex, Claude Code, Cursor, and VS Code/Copilot recipes, exact local qualification statuses, skill installation, the CLI/MCP surface matrix, and troubleshooting. Alpha-3 project and target-JDK selectors are explicitly excluded from the alpha-2 packaged contract. The qualified mutable main channel selects Alpha 3; Alpha 2 remains reproducible through its immutable tag-pinned channel.
The exact 0.1.0-alpha.3 local stdio MCP server is published in the official MCP Registry and is also listed as an MCP Server on MCPServers.org. The latter is a third-party directory listing, not protocol certification.
The canonical guidance-only agent skill is live on SkillsMP. Install the runtime separately through Coursier; npx skills add installs only the skill guidance. Current live, pending, and unsubmitted directory states are tracked in docs/discoverability.md.
semantic-scala agent skill with thin Codex and Claude Code wrappers;0.1.0-alpha.2 and 0.1.0-alpha.3, with Alpha 3 current on the public main channel and Alpha 2 retained at its release tag.modules/core: shared JSON models and codecs.modules/cli: the semantic-scala command entry point.modules/sbt-runner: sbt compile/test subprocess integration.modules/semanticdb-reader: SemanticDB inventory and usage evidence.modules/presentation-compiler: bounded dynamic semantic queries.modules/semantic-reconciliation: static/dynamic symbol comparison and the point-evidence composition and reconciliation contracts.modules/fp-analyzers: syntax-first effect summaries.modules/mcp-server: CLI-backed MCP stdio adapter.modules/benchmark: benchmark models and fixtures.The project uses Scala 3 and sbt. A fresh source setup requires JDK 21, sbt, Git, and Python 3; CI uses Temurin JDK 21. A newer local JDK may work, but it is not the documented baseline.
Scala 3 describes the harness implementation, not a blanket target-language promise. A bounded JDK 21 matrix has verified build/test/error delegation, SemanticDB discovery/symbol/usages, and syntax-first effect summaries on Scala 2.13.18 and Scala 3.3.8 fixtures. The harness is built with Scala 3.9.0 and its dynamic point operations use the linked Scala 3.9.0 Presentation Compiler. That host compiler resolved the matrix's shared-syntax Scala 2 points, but this is not general Scala 2 dialect or compiler support. Target builds still use their selected target compiler; static SemanticDB and post-compile TASTy evidence remain target-artifact evidence. Reconciliation and point evidence inherit the dynamic-source limitation. See docs/project-status.md and docs/semantic-api.md for the exact boundary.
Two maintained real-project Stage-A checks now cover frozen Scala 2.13.18 revisions without source or build changes. scala/scala-java8-compat produced no SemanticDB, so its otherwise-passing alpha-2 matrix preserved truthful degraded point evidence. A bounded production row of scalacenter/scalafix produced target-owned SemanticDB; static symbol discovery, bounded dynamic lookup, exact static/dynamic reconciliation, complete point evidence, and the ordered exact-eight MCP projection passed. Scalafix's aggregated sbt build also exposed that the alpha-2 build oracle cannot select one project row. The Alpha 3 release closes that routing gap with an optional validated project selector; the immutable alpha-2 distribution remains unchanged. These two projects are complementary bounded evidence, not general Scala 2 support or semantic superiority.
The Alpha 3 release sbt subprocess boundary sends project selection plus one product-owned task as a single fixed command sequence. Its injected classpath/receipt adapters use sbt's fileConverter for sbt 2 virtual references and preserve sbt 1 file-backed entries. Readable extensionless sbt 2 CAS JARs are copied directly, without cache scanning, into an owner-only content-addressed area under the selected workspace's generated target tree. A disposable sbt 2.0.6 fixture, a disposable sbt 2.0.7 multi-project fixture, frozen sbt 1.12.15 and sbt 2.0.6 plugin projects, and a frozen Chimney sbt 2.0.7 / Scala 3.8.4 selected row pass their bounded gates. The shared runner uses a request-owned foreground sbt server lifecycle, and structured sbt suite counters preserve ignored/skipped tests in the existing Test JSON fields. This is version-specific evidence, not universal sbt 2 or compiler-plugin compatibility. Chimney's macro-heavy PC points remain neutrally unresolved because target compiler options and plugins are not replayed.
sbt -batch test
sbt cli/stage sbt mcpServer/stage
The source-checkout wrapper runs the CLI through sbt:
./semantic-scala --help
./semantic-scala version ./semantic-scala compile --json ./semantic-scala compile --sbt-project core2_13 --json ./semantic-scala compile --sbt-project plugin --sbt-java-home /absolute/path/to/installed-jdk --json ./semantic-scala test --json ./semantic-scala errors --json
compile, errors, test, semanticdb-for-source, and point-evidence accept an optional --sbt-project where the ID matches A-Za-z*. Without it they preserve ordinary root behavior. With it, compile/errors run that project's fixed Compile scope and test runs its fixed Test scope. The selector is not arbitrary sbt syntax, and a successful selected invocation proves only that bounded project operation, not whole-workspace correctness.
All eight sbt-backed forms (compile, errors, test, target-aware semanticdb-for-source, target-aware point-evidence, sbt-backed infer-type, infer-type-batch, and tasty-point-evidence) also accept an optional --sbt-java-home . The harness itself
Only the beginning is shown; read the rest in the repo