Skip to main content

Crate devboy_mcp

Crate devboy_mcp 

Source
Expand description

MCP (Model Context Protocol) server for devboy-tools.

This crate implements the MCP server that exposes devboy functionality to AI assistants like Claude.

§Architecture

  • Protocol: JSON-RPC 2.0 over stdin/stdout
  • Transport: Newline-delimited JSON messages
  • Tools: get_issues, get_merge_requests
  • Pipeline: Output transformation (Markdown, truncation)

§Example

use devboy_mcp::McpServer;
use devboy_github::GitHubClient;

let mut server = McpServer::new();
server.add_provider(Arc::new(github_client));
server.run().await?;

Re-exports§

pub use handlers::KNOWN_BUILTIN_TOOLS;
pub use protocol::JSONRPC_VERSION;
pub use protocol::JsonRpcRequest;
pub use protocol::RequestId;
pub use proxy::McpProxyClient;
pub use proxy::ProxyManager;
pub use proxy::ProxyTransport;
pub use routing::IncompatibleTool;
pub use routing::ProxyStatus;
pub use routing::RoutingDecision;
pub use routing::RoutingEngine;
pub use routing::RoutingReason;
pub use routing::RoutingTarget;
pub use server::DeferredInit;
pub use server::McpServer;
pub use signature_match::MatchReport;
pub use signature_match::ToolCatalogue;
pub use signature_match::ToolMatch;
pub use signature_match::build_report;
pub use telemetry::TelemetryAuth;
pub use telemetry::TelemetryBatch;
pub use telemetry::TelemetryBuffer;
pub use telemetry::TelemetryEvent;
pub use telemetry::TelemetryPipeline;
pub use telemetry::TelemetryStatus;
pub use telemetry::TelemetryUploader;

Modules§

handlers
Built-in tool registry for MCP server.
layered
Per-session layered-pipeline state for the MCP server.
prefetch_adapter
Paper 3 — production PrefetchDispatcher adapter.
protocol
MCP protocol types based on JSON-RPC 2.0.
proxy
MCP proxy — connects to upstream MCP servers and proxies tool calls.
routing
Routing engine — decides which executor should handle a tool call.
server
MCP server implementation.
signature_match
Tool signature matching — decides which upstream tools have local counterparts.
speculation
Paper 3 — speculative tool-call dispatcher.
telemetry
Telemetry pipeline — records every tool invocation and ships batches to a configurable HTTP endpoint, even when the call was executed locally.
tools
MCP tool definitions.
transport
Transport layer for MCP JSON-RPC communication.

Structs§

AdditionalContext
Runtime context passed to the executor for each tool call.
Executor
Tool execution engine.
ToolSchema
Tool input schema with typed property definitions.

Enums§

GitHubScope
Scope for GitHub API calls — determines the endpoint prefix.
GitLabScope
Scope for GitLab API calls — determines the endpoint prefix.
ProviderConfig
Provider connection configuration with typed scope.
ToolOutput
Typed result of tool execution.

Constants§

SUPPORTED_TOOLS
List of all tool names supported by the executor.

Traits§

ToolEnricher
Trait for plugins that dynamically modify tool schemas and transform arguments.

Type Aliases§

PipelineFormatEnricher
Backward-compatible alias.