Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
941a617
docs: superposition mcp server design spec
knutties May 11, 2026
4a71795
docs: superposition mcp server implementation plan
knutties May 11, 2026
b787a78
build: vendor smithy-mcp-codegen and smithy-mcp-traits JARs
knutties May 11, 2026
682bc7a
build: register smithy-mcp-codegen plugin in smithy-build
knutties May 11, 2026
4c8762c
feat(smithy): annotate operations with @mcpTool
knutties May 11, 2026
0f41eb3
build(smithy): install superposition_mcp via smithy-clients
knutties May 12, 2026
23f66f5
build: refresh smithy-mcp JARs with smithy-rs interop support
knutties May 12, 2026
e83c940
feat: add superposition_mcp workspace member
knutties May 12, 2026
4fec6d6
build: refresh smithy-mcp JARs with smithy-rs edge-case fixes
knutties May 13, 2026
d0d12b2
chore(generated): superposition_mcp crate body
knutties May 13, 2026
d4a989b
feat: scaffold superposition_mcp_server binary crate
knutties May 13, 2026
d144895
feat(mcp-server): env-var config loading and validation
knutties May 13, 2026
d1d0b49
feat(mcp-server): AuthValue and header parsing
knutties May 13, 2026
027e9b6
feat(mcp-server): smithy-rs ResolveIdentity impls for task-local auth
knutties May 13, 2026
78d3293
feat(mcp-server): inject workspace/org defaults into tool params
knutties May 13, 2026
8b3af6d
feat(mcp-server): stdio transport with default injection
knutties May 13, 2026
39898ae
feat(mcp-server): HTTP+SSE transport with Authorization passthrough
knutties May 13, 2026
62dd1b3
test(mcp-server): wiremock integration test for tool dispatch and aut…
knutties May 13, 2026
0b60459
fix(mcp-server): per-request auth scheme selection from task-local
knutties May 13, 2026
f1e90a9
fix(mcp-server): per-request auth scoping for HTTP transport
knutties May 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
550 changes: 527 additions & 23 deletions Cargo.lock

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ members = [
"crates/superposition",
"crates/superposition_types",
"crates/superposition_macros",
"crates/superposition_mcp",
"crates/superposition_mcp_server",
"crates/superposition_derives",
"crates/superposition_core",
"crates/superposition_provider",
Expand Down
5 changes: 5 additions & 0 deletions crates/superposition_mcp/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

This file is hand-maintained alongside the otherwise auto-generated `superposition_mcp` crate.

## Unreleased
15 changes: 15 additions & 0 deletions crates/superposition_mcp/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
[package]
name = "superposition_mcp"
version.workspace = true
edition = "2021"
license = { workspace = true }
homepage = { workspace = true }
readme = "README.md"

[dependencies]
smithy-mcp-runtime = { git = "https://github.com/juspay/smithy-mcp-generator.git", rev = "6ec7445755c1410c052947f00eef1dd65011aadc", features = ["stdio", "http"] }
superposition_sdk = { path = "../superposition_sdk" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
async-trait = "0.1"
tokio = { version = "1", features = ["full"] }
9 changes: 9 additions & 0 deletions crates/superposition_mcp/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# superposition_mcp

Generated Rust crate exposing the `io.superposition#Superposition` smithy service as an MCP (Model Context Protocol) server.

**Do not edit files in this crate by hand** — they are regenerated by `make smithy-clients` from `smithy/models/*.smithy`. The exceptions are `README.md` and `CHANGELOG.md`, which are hand-preserved and restored after regeneration.

The deployable binary that wraps this crate lives in `../superposition_mcp_server/`.

See `docs/superpowers/specs/2026-05-11-superposition-mcp-server-design.md` for design context.
3,280 changes: 3,280 additions & 0 deletions crates/superposition_mcp/src/conversions.rs

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions crates/superposition_mcp/src/lib.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
pub mod types;
pub mod tools;
pub mod server;
pub mod conversions;

pub use types::*;
pub use server::McpServer;
Loading
Loading