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

dcdpr / jp / 16492591342
58%

Build:
DEFAULT BRANCH: main
Ran 24 Jul 2025 09:06AM UTC
Jobs 1
Files 143
Run time 1min
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

24 Jul 2025 09:04AM UTC coverage: 40.331% (+0.9%) from 39.466%
16492591342

push

github

web-flow
fix(config): Inherit wildcard configs for MCP servers and tools (#224)

Previously, during configuration parsing, after we had finished
wildcard-inheritance for defined servers and tools, we would throw away
the wildcard configurations, as they were no longer needed (or so I
thought).

Turns out, we DO need them. Specifically, in a scenario where you define
e.g.:

```toml
[servers.github.tools.*]
enable = false
```

This would (or rather, _should_) disable all tools for the `github`
server. However, because we _merged_ global defaults with _specific
servers and tools_, and since there **is not specific server or tool
defined in this example**, no merging would happen, and the wildcard
configuration got thrown out.

What I failed to realize was that the merging-at-parse-time works in a
case such as:

```toml
[servers.github.tools.*]
enable = false

[servers.github.tools.get_readme]
```

In the above case, the configuration contains a specific tool
configuration (even if empty), and inherits the wildcard configuration.
But in the first case, no specific tool configuration exists.

Still though, at runtime, if we were to call the `get_readme` tool, we
would still want the default from the first example to be applied to a
non-existing tool (or server) configuration. That's what this commit
rectifies.

Because we merge the existing configurations at startup, we don't need
to do any merging at runtime. If a configuration exists for a specific
server or tool, it has already been merged with the wildcard ones, so we
can just return it as-is, if none exists, we can just return the
wildcard configuration, or the `default()` impl.

---------

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

124 of 130 new or added lines in 4 files covered. (95.38%)

5093 of 12628 relevant lines covered (40.33%)

5.54 hits per line

New Missed Lines in Diff

Lines Coverage ∆ File
2
0.0
0.0% crates/jp_cli/src/cmd/query.rs
4
0.0
0.0% crates/jp_cli/src/cmd/query/event.rs
Jobs
ID Job ID Ran Files Coverage
1 16492591342.1 24 Jul 2025 09:06AM UTC 143
40.33
GitHub Action Run
Source Files on build 16492591342
  • Tree
  • List 143
  • Changed 6
  • Source Changed 4
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #16492591342
  • db113592 on github
  • Prev Build on main (#16471137379)
  • Next Build on main (#16494597703)
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