Quill
Local MCP server that indexes compiled Java and Kotlin projects with their DI wiring and git history
Self-hosted runtime that gives remote AI clients coding tools on repositories kept on your own machines
By jialin (individual) Rust Developer toolsGit and code hosting
72 popularity score ★ 2.5k ↓ 438/wk
WebCodex lets ChatGPT, Claude or another MCP client work on code that stays on your own computer. It has two parts: a Server that checks credentials and exposes an HTTPS MCP endpoint, and a Runner on the machine that holds the repository. The client sends tool calls to the Server, which passes them to the Runner; the Runner reads and edits files, runs builds, tests and shell commands, and uses Git in the registered project folder.
There are two ways to use it. `webcodex share`, run from inside a repository, starts a temporary single-project Server and Runner, opens a public HTTPS address through a Cloudflare Quick Tunnel by default, and prints the MCP URL and a one-off credential; both stop working when the command exits. For daily use the project recommends a long-lived Server plus one or more Runners, with a one-time login and project registration, and a Desktop app for managing it.
The tool surface is large. At the v0.4.6 tag the tool contract files define 183 tools across files, edits, Git, jobs and shell, validation (cargo, go test), language-server navigation, memory, skills, goals, sessions, checkpoints and agent messaging. Only 17 of them are marked as direct tools; the rest are found with `tool_manifest` and called through the `call_runtime_tool` gateway, so a client's tool list shows far fewer than the server can do (tool_definition/*.rs at v0.4.6).
Node.js 18 or newer to run the npm package, which downloads native binaries for Linux, macOS or Windows (x64 or arm64). Git and a local repository. An MCP client that can add a remote HTTPS server with a Bearer token, or a URL with a token. ChatGPT needs Developer Mode and a plan or workspace that allows custom MCP apps. The default share tunnel needs a cloudflared binary; on Windows ARM64 you supply it yourself.
There is no stdio mode: the server is reached only over HTTP at the URL the CLI prints, so you add it to a client as a remote connector and not as a launch command. A `share` session covers one project and ends when the terminal closes. The project says its unified desktop and package installers are still in development and not yet validated; v0.4.6 is the stable release while v0.5 release candidates exist, and `main` documents unreleased behaviour. `read_files` reads one to eight files per call and `search_project_texts` takes one to eight queries. Which tools a client sees depends on the token's scopes, the client and Runner policy.
It suits a developer who wants a cloud chat assistant such as ChatGPT or Claude to edit, build and test a real local checkout instead of a hosted sandbox, and who is willing to run a Server and Runner and register project folders. It is a poor fit if you want a simple stdio server for a local desktop client, or if you do not want commands from a remote model to run under your own OS account. In that case a plain file-system or Git server with fewer tools is a better choice. The temporary `share` mode lets you try it on one repository before setting up the persistent install.
work_on_projectread_filessearch_project_textsedit_project_filespresent_work_resultfinish_coding_taskrun_processrun_shellrun_scriptrun_jobobserve_jobswait_for_job_readinesslist_jobsstop_jobproject_buildproject_validatecargo_fmtgo_testgit_statusgit_diff_hunksgit_loggit_commit_pathsreview_changescall_runtime_tool