Conversation
Add `semble_rs serve`, a stdio MCP (Model Context Protocol) server that exposes search, tree, deps, impact, find_pattern, find_related, and plan as self-describing tools for coding agents. Stateless like the CLI: every tool call re-indexes the target path fresh. - src/mcp.rs: JSON-RPC 2.0 protocol layer with version negotiation, background model warm-up, per-call panic isolation, typed argument validation, and protocol-level tests - src/render.rs: extract shared string renderers from main.rs so the CLI and MCP server reuse the same output formats (stdout is reserved for protocol messages in stdio transport) - src/plan.rs: add format_plan returning a String - README: document MCP setup for Claude Code and JSON-config hosts - .gitignore: add .idea/ and .DS_Store Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add an MCP server mode ($name($ $$)" through a shell. MCP makes the tools appear in the agent's tool list with typed JSON schemas and lets hosts
semble_rs serve) so coding agents discover and call semble as native, self-describing tools instead of relying on prompt nudging and shell invocations. This removes the two friction points that hold back adoptiontoday: models hesitate to invoke unfamiliar CLI binaries, and bash tool calls require quoting patterns like "fn
auto-approve read-only calls.
The server runs over stdio JSON-RPC 2.0 with zero new dependencies, exposing
search,tree,deps,impact,find_pattern,find_related, andplan— the full read-only query surface.digestandsavingsstay CLI-only (digest is a pipe; the log would already be in context before an MCP tool could compress it). Statelessness is preserved: every call reindexes the target path, just like the CLI. The embedding model warms up at startup in a background thread, so the first tool call doesn't hit a host timeout.CLI usage is unchanged — the printers were extracted into shared render functions that are reused by both front-ends.