• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

dcdpr / jp / 26625300837 / 1
66%
main: 66%

Build:
DEFAULT BRANCH: main
Ran 29 May 2026 07:54AM UTC
Files 381
Run time 19s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 May 2026 07:52AM UTC coverage: 66.408% (+0.3%) from 66.072%
26625300837.1

push

github

web-flow
feat(config, mcp, llm, cli): Optional MCP servers (#685)

Make `ToolSource::Mcp { server }` a required `String` instead of
`Option<String>`. The legacy `mcp` (no server) and `mcp..<tool>` (empty
server) source strings are now rejected at parse time with a descriptive
error. This eliminates the implicit cross-server lookup that was
order-dependent and incompatible with optional servers.

Add an `optional` boolean field to `StdioConfig`. When `true`, a server
startup failure is logged at `warn` and the server is skipped rather
than aborting the command. Tools backed by an optional server that
failed to start are filtered out of the resolved tool list before the
LLM sees them, via a new `Client::is_running` check in
`tool_definitions`.

Improve MCP startup diagnostics: `InitializeError` now captures a
bounded ring buffer (100 lines) of the server's stderr output and
renders it inline with the error, so users see the root cause without
needing to enable trace logging. The full command line (program + args)
is also included in spawn/init errors.

Remove `Client::get_tool_server_id` and the `Option`-based overloads of
`get_tool` and `call_tool` — both now require an explicit server id.
Extract the per-parameter MCP schema merge logic from `resolve_mcp_tool`
into a standalone `merge_mcp_param` function that also threads through
`items` and `properties` user overrides (fixing the `$ref`-based items
case where no user override produced an `array schema missing items`
error from OpenAI).

The permission prompter (`ToolPrompter::prompt_permission` and helpers)
is now synchronous and no longer receives a `mcp_client` reference,
since the server name is always known from the config.

---------

Signed-off-by: Jean Mertz <git@jeanmertz.com>

31954 of 48118 relevant lines covered (66.41%)

248.38 hits per line

Source Files on job 26625300837.1
  • Tree
  • List 381
  • Changed 12
  • Source Changed 9
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 26625300837
  • bf285f74 on github
  • Prev Job for on main (#26624962241.1)
  • Next Job for on main (#26625401120.1)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc