Skip to content

Conversation

@bug-ops
Copy link
Owner

@bug-ops bug-ops commented Jan 4, 2026

Summary

  • Rename all workspace crates with mcp-execution- prefix for crates.io namespace
  • Add trusted publishing workflow for automated releases
  • Update all documentation and inter-crate dependencies

Changes

Crate Renames

Old Name New Name
mcp-core mcp-execution-core
mcp-introspector mcp-execution-introspector
mcp-codegen mcp-execution-codegen
mcp-files mcp-execution-files
mcp-skill mcp-execution-skill
mcp-server mcp-execution-server
mcp-execution-cli mcp-execution-cli (unchanged)

Metadata Added

All crates now include:

  • description - package description
  • keywords - up to 5 keywords for discovery
  • categories - crates.io categories
  • repository / homepage - from workspace

Release Workflow

Added publish-crates job to release.yml:

  • Uses OIDC-based trusted publishing (no stored tokens)
  • rust-lang/crates-io-auth-action for authentication
  • katyo/publish-crates for publishing in dependency order
  • 30s delay between publishes for index propagation

Setup Required

For trusted publishing to work:

  1. Create GitHub Environment crates-io in repository settings
  2. Configure Trusted Publisher on crates.io for each crate:
    • Repository: bug-ops/mcp-execution
    • Workflow: release.yml
    • Environment: crates-io (optional)

First Manual Publish

cargo publish -p mcp-execution-core && sleep 30
cargo publish -p mcp-execution-introspector && sleep 30
cargo publish -p mcp-execution-codegen && sleep 30
cargo publish -p mcp-execution-files && sleep 30
cargo publish -p mcp-execution-skill && sleep 30
cargo publish -p mcp-execution-server && sleep 30
cargo publish -p mcp-execution-cli

Test plan

  • cargo check --workspace passes
  • cargo clippy --workspace passes
  • cargo doc --workspace --no-deps builds
  • cargo nextest run --workspace - 607/611 pass (4 env-dependent)
  • cargo publish --dry-run -p mcp-execution-core succeeds

- Rename all crates with mcp-execution- prefix:
  - mcp-core → mcp-execution-core
  - mcp-introspector → mcp-execution-introspector
  - mcp-codegen → mcp-execution-codegen
  - mcp-files → mcp-execution-files
  - mcp-skill → mcp-execution-skill
  - mcp-server → mcp-execution-server
  - mcp-execution-cli (unchanged)

- Add crates.io metadata to all Cargo.toml files:
  - description, keywords, categories
  - repository, homepage from workspace

- Update release.yml with trusted publishing:
  - Add publish-crates job with OIDC authentication
  - Use rust-lang/crates-io-auth-action for auth
  - Use katyo/publish-crates for publishing

- Update all use statements and documentation

Directory structure unchanged (crates/mcp-*).
@github-actions github-actions bot added crate: mcp-core Changes to mcp-core crate (foundation types, traits, errors) crate: mcp-introspector Changes to mcp-introspector crate (MCP server analysis) crate: mcp-codegen Changes to mcp-codegen crate (TypeScript code generation) crate: mcp-files Changes to mcp-files crate (virtual filesystem) crate: mcp-cli Changes to mcp-cli crate (command-line interface) type: documentation Documentation changes (*.md, docs/, comments) type: ci CI/CD changes (.github/, workflows, automation) type: dependencies Dependency updates (Cargo.toml, Cargo.lock) type: tests Test changes (tests/, *_test.rs) type: examples Example code changes (examples/) build Build configuration changes (build.rs, toolchain) workspace Workspace-wide changes affecting multiple crates breaking change Contains breaking API changes (requires major version bump) release Release preparation (changelog, version bumps) labels Jan 4, 2026
@codecov-commenter
Copy link

codecov-commenter commented Jan 4, 2026

Codecov Report

❌ Patch coverage is 88.88889% with 1 line in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
crates/mcp-server/src/main.rs 0.00% 1 Missing ⚠️

Impacted file tree graph

@@           Coverage Diff           @@
##           master      #41   +/-   ##
=======================================
  Coverage   92.82%   92.82%           
=======================================
  Files          22       22           
  Lines        4779     4779           
=======================================
  Hits         4436     4436           
  Misses        343      343           
Flag Coverage Δ
unittests 92.82% <88.88%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
crates/mcp-codegen/src/common/types.rs 84.21% <ø> (ø)
crates/mcp-codegen/src/common/typescript.rs 96.95% <ø> (ø)
crates/mcp-codegen/src/progressive/generator.rs 93.87% <100.00%> (ø)
crates/mcp-codegen/src/progressive/types.rs 100.00% <ø> (ø)
crates/mcp-codegen/src/template_engine.rs 85.22% <ø> (ø)
crates/mcp-core/src/cli.rs 100.00% <ø> (ø)
crates/mcp-core/src/command.rs 93.72% <ø> (ø)
crates/mcp-core/src/error.rs 92.30% <ø> (ø)
crates/mcp-core/src/server_config.rs 98.80% <ø> (ø)
crates/mcp-core/src/types.rs 93.47% <ø> (ø)
... and 12 more

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fd49f72...8f8bfb8. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Remove mcp-execution-files from mcp-execution-codegen dev-dependencies
to break circular dependency that prevented crates.io publishing.

VFS-related benchmarks (bench_vfs_loading, bench_end_to_end) removed
from mcp-codegen - they belong in mcp-files which already has the
codegen dependency.
- Add crates.io and docs.rs badges to root README
- Add "From crates.io" as recommended installation method
- Add "As a library" section with cargo add examples
- Make pre-built binaries, from source, and library sections collapsible
- Fix Related Crates links to use correct directory paths
- Update workspace version to 0.6.4
- Update all crate dependency versions
- Add CHANGELOG entry for crates.io preparation release
- Revert mcp_servers field rename (was breaking JSON deserialization)
- Add backticks to function names in benchmark docs for clippy
@bug-ops bug-ops merged commit a3b1688 into master Jan 4, 2026
16 checks passed
@bug-ops bug-ops deleted the feat/prepare-crates-io-release branch January 4, 2026 00:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking change Contains breaking API changes (requires major version bump) build Build configuration changes (build.rs, toolchain) crate: mcp-cli Changes to mcp-cli crate (command-line interface) crate: mcp-codegen Changes to mcp-codegen crate (TypeScript code generation) crate: mcp-core Changes to mcp-core crate (foundation types, traits, errors) crate: mcp-files Changes to mcp-files crate (virtual filesystem) crate: mcp-introspector Changes to mcp-introspector crate (MCP server analysis) release Release preparation (changelog, version bumps) type: ci CI/CD changes (.github/, workflows, automation) type: dependencies Dependency updates (Cargo.toml, Cargo.lock) type: documentation Documentation changes (*.md, docs/, comments) type: examples Example code changes (examples/) type: tests Test changes (tests/, *_test.rs) workspace Workspace-wide changes affecting multiple crates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants