@vibesdotdev/mcp 0.0.0-stage → 1.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +18 -0
- package/README.md +96 -2
- package/dist/adapters/auth-middleware.d.ts +68 -0
- package/dist/adapters/auth-middleware.d.ts.map +1 -0
- package/dist/adapters/auth-middleware.js +161 -0
- package/dist/adapters/auth-middleware.js.map +1 -0
- package/dist/adapters/compatibility.d.ts +20 -0
- package/dist/adapters/compatibility.d.ts.map +1 -0
- package/dist/adapters/compatibility.js +57 -0
- package/dist/adapters/compatibility.js.map +1 -0
- package/dist/adapters/host-context.consumer.d.ts +12 -0
- package/dist/adapters/host-context.consumer.d.ts.map +1 -0
- package/dist/adapters/host-context.consumer.js +10 -0
- package/dist/adapters/host-context.consumer.js.map +1 -0
- package/dist/adapters/host-context.d.ts +32 -0
- package/dist/adapters/host-context.d.ts.map +1 -0
- package/dist/adapters/host-context.js +17 -0
- package/dist/adapters/host-context.js.map +1 -0
- package/dist/adapters/index.d.ts +12 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +13 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mcp/ambient-envelope.d.ts +26 -0
- package/dist/adapters/mcp/ambient-envelope.d.ts.map +1 -0
- package/dist/adapters/mcp/ambient-envelope.js +70 -0
- package/dist/adapters/mcp/ambient-envelope.js.map +1 -0
- package/dist/adapters/mcp/catalog.d.ts +15 -0
- package/dist/adapters/mcp/catalog.d.ts.map +1 -0
- package/dist/adapters/mcp/catalog.js +26 -0
- package/dist/adapters/mcp/catalog.js.map +1 -0
- package/dist/adapters/mcp/connection-identity.d.ts +81 -0
- package/dist/adapters/mcp/connection-identity.d.ts.map +1 -0
- package/dist/adapters/mcp/connection-identity.js +114 -0
- package/dist/adapters/mcp/connection-identity.js.map +1 -0
- package/dist/adapters/mcp/context.d.ts +137 -0
- package/dist/adapters/mcp/context.d.ts.map +1 -0
- package/dist/adapters/mcp/context.js +230 -0
- package/dist/adapters/mcp/context.js.map +1 -0
- package/dist/adapters/mcp/formatters.d.ts +41 -0
- package/dist/adapters/mcp/formatters.d.ts.map +1 -0
- package/dist/adapters/mcp/formatters.js +102 -0
- package/dist/adapters/mcp/formatters.js.map +1 -0
- package/dist/adapters/mcp/from-api-endpoint.d.ts +59 -0
- package/dist/adapters/mcp/from-api-endpoint.d.ts.map +1 -0
- package/dist/adapters/mcp/from-api-endpoint.js +206 -0
- package/dist/adapters/mcp/from-api-endpoint.js.map +1 -0
- package/dist/adapters/mcp/generation-contract.d.ts +5 -0
- package/dist/adapters/mcp/generation-contract.d.ts.map +1 -0
- package/dist/adapters/mcp/generation-contract.js +34 -0
- package/dist/adapters/mcp/generation-contract.js.map +1 -0
- package/dist/adapters/mcp/host-registry.d.ts +159 -0
- package/dist/adapters/mcp/host-registry.d.ts.map +1 -0
- package/dist/adapters/mcp/host-registry.js +237 -0
- package/dist/adapters/mcp/host-registry.js.map +1 -0
- package/dist/adapters/mcp/index.d.ts +12 -0
- package/dist/adapters/mcp/index.d.ts.map +1 -0
- package/dist/adapters/mcp/index.js +17 -0
- package/dist/adapters/mcp/index.js.map +1 -0
- package/dist/adapters/mcp/isolated-notice.d.ts +111 -0
- package/dist/adapters/mcp/isolated-notice.d.ts.map +1 -0
- package/dist/adapters/mcp/isolated-notice.js +217 -0
- package/dist/adapters/mcp/isolated-notice.js.map +1 -0
- package/dist/adapters/mcp/json-rpc.d.ts +16 -0
- package/dist/adapters/mcp/json-rpc.d.ts.map +1 -0
- package/dist/adapters/mcp/json-rpc.js +32 -0
- package/dist/adapters/mcp/json-rpc.js.map +1 -0
- package/dist/adapters/mcp/local-origin.d.ts +18 -0
- package/dist/adapters/mcp/local-origin.d.ts.map +1 -0
- package/dist/adapters/mcp/local-origin.js +37 -0
- package/dist/adapters/mcp/local-origin.js.map +1 -0
- package/dist/adapters/mcp/logging/mcp-cloud.descriptor.d.ts +11 -0
- package/dist/adapters/mcp/logging/mcp-cloud.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/logging/mcp-cloud.descriptor.js +21 -0
- package/dist/adapters/mcp/logging/mcp-cloud.descriptor.js.map +1 -0
- package/dist/adapters/mcp/logging/mcp-http.descriptor.d.ts +10 -0
- package/dist/adapters/mcp/logging/mcp-http.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/logging/mcp-http.descriptor.js +20 -0
- package/dist/adapters/mcp/logging/mcp-http.descriptor.js.map +1 -0
- package/dist/adapters/mcp/logging/mcp-server.descriptor.d.ts +9 -0
- package/dist/adapters/mcp/logging/mcp-server.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/logging/mcp-server.descriptor.js +25 -0
- package/dist/adapters/mcp/logging/mcp-server.descriptor.js.map +1 -0
- package/dist/adapters/mcp/logging/mcp-stdio.descriptor.d.ts +10 -0
- package/dist/adapters/mcp/logging/mcp-stdio.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/logging/mcp-stdio.descriptor.js +20 -0
- package/dist/adapters/mcp/logging/mcp-stdio.descriptor.js.map +1 -0
- package/dist/adapters/mcp/mcp-http-session.d.ts +140 -0
- package/dist/adapters/mcp/mcp-http-session.d.ts.map +1 -0
- package/dist/adapters/mcp/mcp-http-session.js +797 -0
- package/dist/adapters/mcp/mcp-http-session.js.map +1 -0
- package/dist/adapters/mcp/mcp-wire-name.d.ts +9 -0
- package/dist/adapters/mcp/mcp-wire-name.d.ts.map +1 -0
- package/dist/adapters/mcp/mcp-wire-name.js +52 -0
- package/dist/adapters/mcp/mcp-wire-name.js.map +1 -0
- package/dist/adapters/mcp/projection-doctor.d.ts +101 -0
- package/dist/adapters/mcp/projection-doctor.d.ts.map +1 -0
- package/dist/adapters/mcp/projection-doctor.js +285 -0
- package/dist/adapters/mcp/projection-doctor.js.map +1 -0
- package/dist/adapters/mcp/projection.d.ts +36 -0
- package/dist/adapters/mcp/projection.d.ts.map +1 -0
- package/dist/adapters/mcp/projection.js +136 -0
- package/dist/adapters/mcp/projection.js.map +1 -0
- package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.js +15 -0
- package/dist/adapters/mcp/prompts/continuity-wake.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.js +18 -0
- package/dist/adapters/mcp/prompts/empty-tool-kind.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/index.d.ts +113 -0
- package/dist/adapters/mcp/prompts/index.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/index.js +24 -0
- package/dist/adapters/mcp/prompts/index.js.map +1 -0
- package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.d.ts +114 -0
- package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.js +37 -0
- package/dist/adapters/mcp/prompts/isolated-runtime.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.js +20 -0
- package/dist/adapters/mcp/prompts/local-tools.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.js +20 -0
- package/dist/adapters/mcp/prompts/max-tools.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.d.ts +114 -0
- package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.js +21 -0
- package/dist/adapters/mcp/prompts/private-runtime.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.js +19 -0
- package/dist/adapters/mcp/prompts/registration-failure.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.js +18 -0
- package/dist/adapters/mcp/prompts/required-checklist.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.js +19 -0
- package/dist/adapters/mcp/prompts/required-tools-missing.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.d.ts +113 -0
- package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.d.ts.map +1 -0
- package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.js +18 -0
- package/dist/adapters/mcp/prompts/unknown-client.prompt.descriptor.js.map +1 -0
- package/dist/adapters/mcp/request-context.d.ts +28 -0
- package/dist/adapters/mcp/request-context.d.ts.map +1 -0
- package/dist/adapters/mcp/request-context.js +49 -0
- package/dist/adapters/mcp/request-context.js.map +1 -0
- package/dist/adapters/mcp/roster-announcer.d.ts +3 -0
- package/dist/adapters/mcp/roster-announcer.d.ts.map +1 -0
- package/dist/adapters/mcp/roster-announcer.js +22 -0
- package/dist/adapters/mcp/roster-announcer.js.map +1 -0
- package/dist/adapters/mcp/sampling-context.d.ts +12 -0
- package/dist/adapters/mcp/sampling-context.d.ts.map +1 -0
- package/dist/adapters/mcp/sampling-context.js +30 -0
- package/dist/adapters/mcp/sampling-context.js.map +1 -0
- package/dist/adapters/mcp/sampling.d.ts +17 -0
- package/dist/adapters/mcp/sampling.d.ts.map +1 -0
- package/dist/adapters/mcp/sampling.js +43 -0
- package/dist/adapters/mcp/sampling.js.map +1 -0
- package/dist/adapters/mcp/schemas/index.d.ts +37 -0
- package/dist/adapters/mcp/schemas/index.d.ts.map +1 -0
- package/dist/adapters/mcp/schemas/index.js +5 -0
- package/dist/adapters/mcp/schemas/index.js.map +1 -0
- package/dist/adapters/mcp/schemas/tool-selection.d.ts +12 -0
- package/dist/adapters/mcp/schemas/tool-selection.d.ts.map +1 -0
- package/dist/adapters/mcp/schemas/tool-selection.js +2 -0
- package/dist/adapters/mcp/schemas/tool-selection.js.map +1 -0
- package/dist/adapters/mcp/serve-identity.d.ts +64 -0
- package/dist/adapters/mcp/serve-identity.d.ts.map +1 -0
- package/dist/adapters/mcp/serve-identity.js +220 -0
- package/dist/adapters/mcp/serve-identity.js.map +1 -0
- package/dist/adapters/mcp/server.consumer.d.ts +5 -0
- package/dist/adapters/mcp/server.consumer.d.ts.map +1 -0
- package/dist/adapters/mcp/server.consumer.js +300 -0
- package/dist/adapters/mcp/server.consumer.js.map +1 -0
- package/dist/adapters/mcp/server.d.ts +56 -0
- package/dist/adapters/mcp/server.d.ts.map +1 -0
- package/dist/adapters/mcp/server.js +1423 -0
- package/dist/adapters/mcp/server.js.map +1 -0
- package/dist/adapters/mcp/stale-body.consumer.d.ts +85 -0
- package/dist/adapters/mcp/stale-body.consumer.d.ts.map +1 -0
- package/dist/adapters/mcp/stale-body.consumer.js +183 -0
- package/dist/adapters/mcp/stale-body.consumer.js.map +1 -0
- package/dist/adapters/mcp/startup-refusal.d.ts +8 -0
- package/dist/adapters/mcp/startup-refusal.d.ts.map +1 -0
- package/dist/adapters/mcp/startup-refusal.js +141 -0
- package/dist/adapters/mcp/startup-refusal.js.map +1 -0
- package/dist/adapters/mcp/stdio-relay.d.ts +232 -0
- package/dist/adapters/mcp/stdio-relay.d.ts.map +1 -0
- package/dist/adapters/mcp/stdio-relay.js +1169 -0
- package/dist/adapters/mcp/stdio-relay.js.map +1 -0
- package/dist/adapters/mcp/tool-audit-live.d.ts +109 -0
- package/dist/adapters/mcp/tool-audit-live.d.ts.map +1 -0
- package/dist/adapters/mcp/tool-audit-live.js +538 -0
- package/dist/adapters/mcp/tool-audit-live.js.map +1 -0
- package/dist/adapters/mcp/tool-audit.d.ts +44 -0
- package/dist/adapters/mcp/tool-audit.d.ts.map +1 -0
- package/dist/adapters/mcp/tool-audit.js +168 -0
- package/dist/adapters/mcp/tool-audit.js.map +1 -0
- package/dist/adapters/mcp/tool-catalog.d.ts +179 -0
- package/dist/adapters/mcp/tool-catalog.d.ts.map +1 -0
- package/dist/adapters/mcp/tool-catalog.js +330 -0
- package/dist/adapters/mcp/tool-catalog.js.map +1 -0
- package/dist/adapters/mcp/tool-selection.d.ts +77 -0
- package/dist/adapters/mcp/tool-selection.d.ts.map +1 -0
- package/dist/adapters/mcp/tool-selection.js +266 -0
- package/dist/adapters/mcp/tool-selection.js.map +1 -0
- package/dist/adapters/mcp/transport-registry.d.ts +5 -0
- package/dist/adapters/mcp/transport-registry.d.ts.map +1 -0
- package/dist/adapters/mcp/transport-registry.js +13 -0
- package/dist/adapters/mcp/transport-registry.js.map +1 -0
- package/dist/adapters/mcp/trust-tag.d.ts +69 -0
- package/dist/adapters/mcp/trust-tag.d.ts.map +1 -0
- package/dist/adapters/mcp/trust-tag.js +120 -0
- package/dist/adapters/mcp/trust-tag.js.map +1 -0
- package/dist/adapters/mcp/vibes-types.d.ts +115 -0
- package/dist/adapters/mcp/vibes-types.d.ts.map +1 -0
- package/dist/adapters/mcp/vibes-types.js +7 -0
- package/dist/adapters/mcp/vibes-types.js.map +1 -0
- package/dist/adapters/mcp/web-handler.d.ts +49 -0
- package/dist/adapters/mcp/web-handler.d.ts.map +1 -0
- package/dist/adapters/mcp/web-handler.js +129 -0
- package/dist/adapters/mcp/web-handler.js.map +1 -0
- package/dist/adapters/session-id.d.ts +3 -0
- package/dist/adapters/session-id.d.ts.map +1 -0
- package/dist/adapters/session-id.js +42 -0
- package/dist/adapters/session-id.js.map +1 -0
- package/dist/adapters/transport-bun-http.d.ts +39 -0
- package/dist/adapters/transport-bun-http.d.ts.map +1 -0
- package/dist/adapters/transport-bun-http.js +42 -0
- package/dist/adapters/transport-bun-http.js.map +1 -0
- package/dist/adapters/types.d.ts +135 -0
- package/dist/adapters/types.d.ts.map +1 -0
- package/dist/adapters/types.js +2 -0
- package/dist/adapters/types.js.map +1 -0
- package/dist/adapters/web-compatibility.d.ts +6 -0
- package/dist/adapters/web-compatibility.d.ts.map +1 -0
- package/dist/adapters/web-compatibility.js +13 -0
- package/dist/adapters/web-compatibility.js.map +1 -0
- package/dist/adapters/zod-mcp.d.ts +139 -0
- package/dist/adapters/zod-mcp.d.ts.map +1 -0
- package/dist/adapters/zod-mcp.js +617 -0
- package/dist/adapters/zod-mcp.js.map +1 -0
- package/dist/cli/mcp/audit/dev.audit.tools.descriptor.d.ts +15 -0
- package/dist/cli/mcp/audit/dev.audit.tools.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/audit/dev.audit.tools.descriptor.js +58 -0
- package/dist/cli/mcp/audit/dev.audit.tools.descriptor.js.map +1 -0
- package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.d.ts +6 -0
- package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.js +180 -0
- package/dist/cli/mcp/audit/dev.audit.tools.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.d.ts +22 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.js +19 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.descriptor.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.d.ts +23 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.js +41 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.restart.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.d.ts +75 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.js +84 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.serve.descriptor.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.d.ts +35 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.js +28 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.descriptor.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.d.ts +11 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.js +47 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.start.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.d.ts +18 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.js +18 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.descriptor.js.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.d.ts +12 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.js +17 -0
- package/dist/cli/mcp/lifecycle/dev.mcp.stop.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.install.descriptor.d.ts +41 -0
- package/dist/cli/mcp/management/dev.mcp.install.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.install.descriptor.js +49 -0
- package/dist/cli/mcp/management/dev.mcp.install.descriptor.js.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.d.ts +16 -0
- package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.js +244 -0
- package/dist/cli/mcp/management/dev.mcp.install.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.list.descriptor.d.ts +22 -0
- package/dist/cli/mcp/management/dev.mcp.list.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.list.descriptor.js +24 -0
- package/dist/cli/mcp/management/dev.mcp.list.descriptor.js.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.d.ts +29 -0
- package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.js +127 -0
- package/dist/cli/mcp/management/dev.mcp.list.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.status.descriptor.d.ts +48 -0
- package/dist/cli/mcp/management/dev.mcp.status.descriptor.d.ts.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.status.descriptor.js +56 -0
- package/dist/cli/mcp/management/dev.mcp.status.descriptor.js.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.d.ts +9 -0
- package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.js +253 -0
- package/dist/cli/mcp/management/dev.mcp.status.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/management/install-helpers.d.ts +26 -0
- package/dist/cli/mcp/management/install-helpers.d.ts.map +1 -0
- package/dist/cli/mcp/management/install-helpers.js +95 -0
- package/dist/cli/mcp/management/install-helpers.js.map +1 -0
- package/dist/cli/mcp/management/process-audit.impl.consumer.d.ts +38 -0
- package/dist/cli/mcp/management/process-audit.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/management/process-audit.impl.consumer.js +145 -0
- package/dist/cli/mcp/management/process-audit.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.d.ts +21 -0
- package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.js +82 -0
- package/dist/cli/mcp/management/rules-debt-summary.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/management/status-doctor.d.ts +22 -0
- package/dist/cli/mcp/management/status-doctor.d.ts.map +1 -0
- package/dist/cli/mcp/management/status-doctor.js +153 -0
- package/dist/cli/mcp/management/status-doctor.js.map +1 -0
- package/dist/cli/mcp/schemas/status-doctor.d.ts +75 -0
- package/dist/cli/mcp/schemas/status-doctor.d.ts.map +1 -0
- package/dist/cli/mcp/schemas/status-doctor.js +2 -0
- package/dist/cli/mcp/schemas/status-doctor.js.map +1 -0
- package/dist/cli/mcp/support/host-port.d.ts +31 -0
- package/dist/cli/mcp/support/host-port.d.ts.map +1 -0
- package/dist/cli/mcp/support/host-port.js +31 -0
- package/dist/cli/mcp/support/host-port.js.map +1 -0
- package/dist/cli/mcp/support/server-process.impl.consumer.d.ts +24 -0
- package/dist/cli/mcp/support/server-process.impl.consumer.d.ts.map +1 -0
- package/dist/cli/mcp/support/server-process.impl.consumer.js +86 -0
- package/dist/cli/mcp/support/server-process.impl.consumer.js.map +1 -0
- package/dist/cli/mcp/support/status-doctor.d.ts +33 -0
- package/dist/cli/mcp/support/status-doctor.d.ts.map +1 -0
- package/dist/cli/mcp/support/status-doctor.js +104 -0
- package/dist/cli/mcp/support/status-doctor.js.map +1 -0
- package/dist/cli/print.d.ts +12 -0
- package/dist/cli/print.d.ts.map +1 -0
- package/dist/cli/print.js +25 -0
- package/dist/cli/print.js.map +1 -0
- package/dist/cli/surface-mcp/client-connection-identity.consumer.d.ts +19 -0
- package/dist/cli/surface-mcp/client-connection-identity.consumer.d.ts.map +1 -0
- package/dist/cli/surface-mcp/client-connection-identity.consumer.js +53 -0
- package/dist/cli/surface-mcp/client-connection-identity.consumer.js.map +1 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.d.ts +7 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.d.ts.map +1 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.js +345 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.cloud.js.map +1 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.d.ts +12 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.d.ts.map +1 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.js +657 -0
- package/dist/cli/surface-mcp/dev.mcp.serve.impl.consumer.js.map +1 -0
- package/dist/cli/surface-mcp/local-dev-flag.d.ts +24 -0
- package/dist/cli/surface-mcp/local-dev-flag.d.ts.map +1 -0
- package/dist/cli/surface-mcp/local-dev-flag.js +37 -0
- package/dist/cli/surface-mcp/local-dev-flag.js.map +1 -0
- package/dist/cli/surface-mcp/shared-host-startup.d.ts +14 -0
- package/dist/cli/surface-mcp/shared-host-startup.d.ts.map +1 -0
- package/dist/cli/surface-mcp/shared-host-startup.js +46 -0
- package/dist/cli/surface-mcp/shared-host-startup.js.map +1 -0
- package/dist/cli/surface-mcp/stdio-relay-transport.d.ts +2 -0
- package/dist/cli/surface-mcp/stdio-relay-transport.d.ts.map +1 -0
- package/dist/cli/surface-mcp/stdio-relay-transport.js +21 -0
- package/dist/cli/surface-mcp/stdio-relay-transport.js.map +1 -0
- package/dist/cli/surface-mcp/teardown.d.ts +17 -0
- package/dist/cli/surface-mcp/teardown.d.ts.map +1 -0
- package/dist/cli/surface-mcp/teardown.js +28 -0
- package/dist/cli/surface-mcp/teardown.js.map +1 -0
- package/dist/client.d.ts +49 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +131 -0
- package/dist/client.js.map +1 -0
- package/dist/config/load.d.ts +6 -0
- package/dist/config/load.d.ts.map +1 -0
- package/dist/config/load.js +18 -0
- package/dist/config/load.js.map +1 -0
- package/dist/config/mcp.config.descriptor.d.ts +108 -0
- package/dist/config/mcp.config.descriptor.d.ts.map +1 -0
- package/dist/config/mcp.config.descriptor.js +63 -0
- package/dist/config/mcp.config.descriptor.js.map +1 -0
- package/dist/docs/mcp.docs.descriptor.d.ts +4 -0
- package/dist/docs/mcp.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/mcp.docs.descriptor.js +44 -0
- package/dist/docs/mcp.docs.descriptor.js.map +1 -0
- package/dist/docs/prompts.docs.descriptor.d.ts +4 -0
- package/dist/docs/prompts.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/prompts.docs.descriptor.js +130 -0
- package/dist/docs/prompts.docs.descriptor.js.map +1 -0
- package/dist/docs/resources.docs.descriptor.d.ts +4 -0
- package/dist/docs/resources.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/resources.docs.descriptor.js +390 -0
- package/dist/docs/resources.docs.descriptor.js.map +1 -0
- package/dist/docs/server.docs.descriptor.d.ts +4 -0
- package/dist/docs/server.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/server.docs.descriptor.js +383 -0
- package/dist/docs/server.docs.descriptor.js.map +1 -0
- package/dist/docs/tools.docs.descriptor.d.ts +4 -0
- package/dist/docs/tools.docs.descriptor.d.ts.map +1 -0
- package/dist/docs/tools.docs.descriptor.js +316 -0
- package/dist/docs/tools.docs.descriptor.js.map +1 -0
- package/dist/harness-identity.descriptors.d.ts +11 -0
- package/dist/harness-identity.descriptors.d.ts.map +1 -0
- package/dist/harness-identity.descriptors.js +41 -0
- package/dist/harness-identity.descriptors.js.map +1 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/kinds/harness-identity.kind.d.ts +3 -0
- package/dist/kinds/harness-identity.kind.d.ts.map +1 -0
- package/dist/kinds/harness-identity.kind.js +16 -0
- package/dist/kinds/harness-identity.kind.js.map +1 -0
- package/dist/kinds/sampling.kind.d.ts +15 -0
- package/dist/kinds/sampling.kind.d.ts.map +1 -0
- package/dist/kinds/sampling.kind.js +24 -0
- package/dist/kinds/sampling.kind.js.map +1 -0
- package/dist/lifecycle-repeat.d.ts +23 -0
- package/dist/lifecycle-repeat.d.ts.map +1 -0
- package/dist/lifecycle-repeat.js +21 -0
- package/dist/lifecycle-repeat.js.map +1 -0
- package/dist/mcp/dev.mcp.descriptor.d.ts +18 -0
- package/dist/mcp/dev.mcp.descriptor.d.ts.map +1 -0
- package/dist/mcp/dev.mcp.descriptor.js +18 -0
- package/dist/mcp/dev.mcp.descriptor.js.map +1 -0
- package/dist/mcp/index.d.ts +20 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +19 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/mcp.plugin.d.ts +9 -0
- package/dist/mcp/mcp.plugin.d.ts.map +1 -0
- package/dist/mcp/mcp.plugin.js +59 -0
- package/dist/mcp/mcp.plugin.js.map +1 -0
- package/dist/mcp-client.plugin.d.ts +4 -0
- package/dist/mcp-client.plugin.d.ts.map +1 -0
- package/dist/mcp-client.plugin.js +13 -0
- package/dist/mcp-client.plugin.js.map +1 -0
- package/dist/mcp.client.descriptor.d.ts +27 -0
- package/dist/mcp.client.descriptor.d.ts.map +1 -0
- package/dist/mcp.client.descriptor.js +7 -0
- package/dist/mcp.client.descriptor.js.map +1 -0
- package/dist/mcp.consumer.plugin.d.ts +4 -0
- package/dist/mcp.consumer.plugin.d.ts.map +1 -0
- package/dist/mcp.consumer.plugin.js +19 -0
- package/dist/mcp.consumer.plugin.js.map +1 -0
- package/dist/mcp.runtime.plugin.d.ts +10 -0
- package/dist/mcp.runtime.plugin.d.ts.map +1 -0
- package/dist/mcp.runtime.plugin.js +40 -0
- package/dist/mcp.runtime.plugin.js.map +1 -0
- package/dist/root-state.d.ts +3 -0
- package/dist/root-state.d.ts.map +1 -0
- package/dist/root-state.js +3 -0
- package/dist/root-state.js.map +1 -0
- package/dist/schemas/api-endpoint.d.ts +12 -0
- package/dist/schemas/api-endpoint.d.ts.map +1 -0
- package/dist/schemas/api-endpoint.js +11 -0
- package/dist/schemas/api-endpoint.js.map +1 -0
- package/dist/schemas/audit.d.ts +172 -0
- package/dist/schemas/audit.d.ts.map +1 -0
- package/dist/schemas/audit.js +82 -0
- package/dist/schemas/audit.js.map +1 -0
- package/dist/schemas/harness-identity.d.ts +41 -0
- package/dist/schemas/harness-identity.d.ts.map +1 -0
- package/dist/schemas/harness-identity.js +19 -0
- package/dist/schemas/harness-identity.js.map +1 -0
- package/dist/schemas/host-adapters.d.ts +14 -0
- package/dist/schemas/host-adapters.d.ts.map +1 -0
- package/dist/schemas/host-adapters.js +7 -0
- package/dist/schemas/host-adapters.js.map +1 -0
- package/dist/schemas/projection.d.ts +10 -0
- package/dist/schemas/projection.d.ts.map +1 -0
- package/dist/schemas/projection.js +9 -0
- package/dist/schemas/projection.js.map +1 -0
- package/dist/schemas/tool.d.ts +8 -0
- package/dist/schemas/tool.d.ts.map +1 -0
- package/dist/schemas/tool.js +8 -0
- package/dist/schemas/tool.js.map +1 -0
- package/dist/surface-mcp/build-provenance.d.ts +67 -0
- package/dist/surface-mcp/build-provenance.d.ts.map +1 -0
- package/dist/surface-mcp/build-provenance.js +287 -0
- package/dist/surface-mcp/build-provenance.js.map +1 -0
- package/dist/surface-mcp/crash-reporting.d.ts +28 -0
- package/dist/surface-mcp/crash-reporting.d.ts.map +1 -0
- package/dist/surface-mcp/crash-reporting.js +41 -0
- package/dist/surface-mcp/crash-reporting.js.map +1 -0
- package/dist/surface-mcp/executable-freshness-watch.d.ts +89 -0
- package/dist/surface-mcp/executable-freshness-watch.d.ts.map +1 -0
- package/dist/surface-mcp/executable-freshness-watch.js +225 -0
- package/dist/surface-mcp/executable-freshness-watch.js.map +1 -0
- package/dist/surface-mcp/host-provenance-banner.d.ts +49 -0
- package/dist/surface-mcp/host-provenance-banner.d.ts.map +1 -0
- package/dist/surface-mcp/host-provenance-banner.js +135 -0
- package/dist/surface-mcp/host-provenance-banner.js.map +1 -0
- package/dist/surface-mcp/index.d.ts +51 -0
- package/dist/surface-mcp/index.d.ts.map +1 -0
- package/dist/surface-mcp/index.js +92 -0
- package/dist/surface-mcp/index.js.map +1 -0
- package/dist/surface-mcp/local-tools-bootstrap.d.ts +36 -0
- package/dist/surface-mcp/local-tools-bootstrap.d.ts.map +1 -0
- package/dist/surface-mcp/local-tools-bootstrap.js +43 -0
- package/dist/surface-mcp/local-tools-bootstrap.js.map +1 -0
- package/dist/surface-mcp/mcp-serve.plugin.d.ts +9 -0
- package/dist/surface-mcp/mcp-serve.plugin.d.ts.map +1 -0
- package/dist/surface-mcp/mcp-serve.plugin.js +24 -0
- package/dist/surface-mcp/mcp-serve.plugin.js.map +1 -0
- package/dist/surface-mcp/project-config.d.ts +35 -0
- package/dist/surface-mcp/project-config.d.ts.map +1 -0
- package/dist/surface-mcp/project-config.js +74 -0
- package/dist/surface-mcp/project-config.js.map +1 -0
- package/dist/surface-mcp/serve-lifecycle.d.ts +102 -0
- package/dist/surface-mcp/serve-lifecycle.d.ts.map +1 -0
- package/dist/surface-mcp/serve-lifecycle.js +343 -0
- package/dist/surface-mcp/serve-lifecycle.js.map +1 -0
- package/dist/surface-mcp/session-bridge.d.ts +18 -0
- package/dist/surface-mcp/session-bridge.d.ts.map +1 -0
- package/dist/surface-mcp/session-bridge.js +26 -0
- package/dist/surface-mcp/session-bridge.js.map +1 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.d.ts +13 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.d.ts.map +1 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.js +13 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.descriptor.js.map +1 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.d.ts +11 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.d.ts.map +1 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.js +36 -0
- package/dist/surface-mcp/subscriptions/session.bound.workspace.impl.consumer.js.map +1 -0
- package/dist/surface-mcp/workspace-warning.d.ts +16 -0
- package/dist/surface-mcp/workspace-warning.d.ts.map +1 -0
- package/dist/surface-mcp/workspace-warning.js +44 -0
- package/dist/surface-mcp/workspace-warning.js.map +1 -0
- package/dist/svelte/index.d.ts +12 -0
- package/dist/svelte/index.d.ts.map +1 -0
- package/dist/svelte/index.js +11 -0
- package/dist/svelte/mcp-svelte.plugin.d.ts +10 -0
- package/dist/svelte/mcp-svelte.plugin.d.ts.map +1 -0
- package/dist/svelte/mcp-svelte.plugin.js +24 -0
- package/dist/svelte/tool-widgets/VibesContextToolCard.svelte +91 -0
- package/dist/svelte/tool-widgets/VibesContextToolCard.svelte.d.ts +9 -0
- package/dist/svelte/tool-widgets/VibesContextToolCard.svelte.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.d.ts +3 -0
- package/dist/svelte/tool-widgets/index.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/index.js +2 -0
- package/dist/svelte/tool-widgets/summary.d.ts +48 -0
- package/dist/svelte/tool-widgets/summary.d.ts.map +1 -0
- package/dist/svelte/tool-widgets/summary.js +117 -0
- package/dist/tools/vibes-context/schemas.d.ts +85 -0
- package/dist/tools/vibes-context/schemas.d.ts.map +1 -0
- package/dist/tools/vibes-context/schemas.js +76 -0
- package/dist/tools/vibes-context/schemas.js.map +1 -0
- package/dist/tools/vibes-context/vibes-context.descriptor.d.ts +4 -0
- package/dist/tools/vibes-context/vibes-context.descriptor.d.ts.map +1 -0
- package/dist/tools/vibes-context/vibes-context.descriptor.js +30 -0
- package/dist/tools/vibes-context/vibes-context.descriptor.js.map +1 -0
- package/dist/tools/vibes-context/vibes-context.impl.d.ts +34 -0
- package/dist/tools/vibes-context/vibes-context.impl.d.ts.map +1 -0
- package/dist/tools/vibes-context/vibes-context.impl.js +207 -0
- package/dist/tools/vibes-context/vibes-context.impl.js.map +1 -0
- package/dist/tui/index.d.ts +4 -0
- package/dist/tui/index.d.ts.map +1 -0
- package/dist/tui/index.js +4 -0
- package/dist/tui/index.js.map +1 -0
- package/dist/tui/mcp-health.d.ts +7 -0
- package/dist/tui/mcp-health.d.ts.map +1 -0
- package/dist/tui/mcp-health.js +16 -0
- package/dist/tui/mcp-health.js.map +1 -0
- package/dist/tui/mcp-tui.plugin.d.ts +3 -0
- package/dist/tui/mcp-tui.plugin.d.ts.map +1 -0
- package/dist/tui/mcp-tui.plugin.js +18 -0
- package/dist/tui/mcp-tui.plugin.js.map +1 -0
- package/dist/tui/mcp.tui-app.descriptor.d.ts +4 -0
- package/dist/tui/mcp.tui-app.descriptor.d.ts.map +1 -0
- package/dist/tui/mcp.tui-app.descriptor.js +19 -0
- package/dist/tui/mcp.tui-app.descriptor.js.map +1 -0
- package/dist/tui/mcp.tui-app.impl.consumer.d.ts +4 -0
- package/dist/tui/mcp.tui-app.impl.consumer.d.ts.map +1 -0
- package/dist/tui/mcp.tui-app.impl.consumer.js +48 -0
- package/dist/tui/mcp.tui-app.impl.consumer.js.map +1 -0
- package/dist/tui/mcp.tui-state.descriptor.d.ts +8 -0
- package/dist/tui/mcp.tui-state.descriptor.d.ts.map +1 -0
- package/dist/tui/mcp.tui-state.descriptor.js +37 -0
- package/dist/tui/mcp.tui-state.descriptor.js.map +1 -0
- package/dist/tui/mcp.tui-state.impl.consumer.d.ts +5 -0
- package/dist/tui/mcp.tui-state.impl.consumer.d.ts.map +1 -0
- package/dist/tui/mcp.tui-state.impl.consumer.js +97 -0
- package/dist/tui/mcp.tui-state.impl.consumer.js.map +1 -0
- package/dist/tui/mcp.tui-state.key.d.ts +45 -0
- package/dist/tui/mcp.tui-state.key.d.ts.map +1 -0
- package/dist/tui/mcp.tui-state.key.js +25 -0
- package/dist/tui/mcp.tui-state.key.js.map +1 -0
- package/dist/types.core.d.ts +25 -0
- package/dist/types.core.d.ts.map +1 -0
- package/dist/types.core.js +8 -0
- package/dist/types.core.js.map +1 -0
- package/dist/types.d.ts +71 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/types.registry.d.ts +93 -0
- package/dist/types.registry.d.ts.map +1 -0
- package/dist/types.registry.js +32 -0
- package/dist/types.registry.js.map +1 -0
- package/package.json +323 -4
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
const descriptor = {
|
|
2
|
+
kind: 'docs/topic',
|
|
3
|
+
id: 'mcp.server',
|
|
4
|
+
title: 'MCP Server',
|
|
5
|
+
summary: 'Model Context Protocol server setup, transport, and lifecycle',
|
|
6
|
+
body: {
|
|
7
|
+
type: 'markdown',
|
|
8
|
+
sourceType: 'raw',
|
|
9
|
+
source: `---
|
|
10
|
+
title: MCP Server
|
|
11
|
+
summary: Model Context Protocol server setup and lifecycle management
|
|
12
|
+
tags: [mcp, server, transport, lifecycle, protocol]
|
|
13
|
+
parent: mcp
|
|
14
|
+
order: 1
|
|
15
|
+
surfaces: [cli, web, in-app]
|
|
16
|
+
hardware: [consumer, cloud]
|
|
17
|
+
man:
|
|
18
|
+
name: "mcp.server — MCP server setup and lifecycle"
|
|
19
|
+
section: 1
|
|
20
|
+
synopsis: "vibes man mcp.server"
|
|
21
|
+
seeAlso: ["mcp.tools", "dev.mcp.start", "dev.mcp.serve"]
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
The **Model Context Protocol (MCP)** server enables AI agents to discover and invoke tools, access resources, and use prompts from the runtime.
|
|
25
|
+
|
|
26
|
+
## Server architecture
|
|
27
|
+
|
|
28
|
+
MCP server exposes runtime capabilities via standard protocol:
|
|
29
|
+
|
|
30
|
+
\`\`\`
|
|
31
|
+
┌─────────────────┐
|
|
32
|
+
│ MCP Client │ ←→ MCP Protocol (JSON-RPC)
|
|
33
|
+
│ (Claude, etc.) │
|
|
34
|
+
└─────────────────┘
|
|
35
|
+
↓
|
|
36
|
+
┌─────────────────┐
|
|
37
|
+
│ MCP Server │ ←→ Runtime (tools/resources/prompts)
|
|
38
|
+
│ (@vibesdotdev/mcp)
|
|
39
|
+
└─────────────────┘
|
|
40
|
+
\`\`\`
|
|
41
|
+
|
|
42
|
+
## Transport modes
|
|
43
|
+
|
|
44
|
+
### Stdio transport (default)
|
|
45
|
+
|
|
46
|
+
Communicate via standard streams:
|
|
47
|
+
|
|
48
|
+
\`\`\`ts
|
|
49
|
+
import { createMcpAdapter } from '@vibesdotdev/mcp/adapters/mcp';
|
|
50
|
+
|
|
51
|
+
const adapter = createMcpAdapter(runtime, { mode: 'stdio', preset: 'full' }, logger);
|
|
52
|
+
await adapter.start();
|
|
53
|
+
// On host shutdown:
|
|
54
|
+
await adapter.shutdown();
|
|
55
|
+
\`\`\`
|
|
56
|
+
|
|
57
|
+
**Use when:** Local MCP clients (Claude Desktop, IDE plugins).
|
|
58
|
+
|
|
59
|
+
### HTTP transport (Web Standard streamable HTTP)
|
|
60
|
+
|
|
61
|
+
Bun-native HTTP server using Web Standard APIs (not SSE):
|
|
62
|
+
|
|
63
|
+
\`\`\`ts
|
|
64
|
+
import { createBunMcpServer } from '@vibesdotdev/mcp/adapters';
|
|
65
|
+
import { createMcpAuthenticator } from '@vibesdotdev/mcp';
|
|
66
|
+
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
67
|
+
import { getRuntimeHttpListener } from '@vibesdotdev/kernel';
|
|
68
|
+
|
|
69
|
+
const server = createBunMcpServer({
|
|
70
|
+
listener: getRuntimeHttpListener(runtime),
|
|
71
|
+
port: 3001,
|
|
72
|
+
hostname: '0.0.0.0',
|
|
73
|
+
buildServer: () => new McpServer({ name: 'my-server', version: '1.0.0' }),
|
|
74
|
+
logger: myLogger,
|
|
75
|
+
lifecycle: runtime.lifecycle,
|
|
76
|
+
authenticate: createMcpAuthenticator({ remote: true, scope: 'mcp' })
|
|
77
|
+
});
|
|
78
|
+
|
|
79
|
+
await server.start();
|
|
80
|
+
\`\`\`
|
|
81
|
+
|
|
82
|
+
\`lifecycle\` is the serving runtime's: idle sessions expire per request on every
|
|
83
|
+
host, and a persistent host also sweeps them on its runtime-owned interval (a
|
|
84
|
+
finite host has no background sweep). Disposing the runtime clears it.
|
|
85
|
+
|
|
86
|
+
**Use when:** Remote MCP clients, cloud deployments, Workers (use \`createMcpFetchHandler\` instead of \`createBunMcpServer\` in a Workers environment).
|
|
87
|
+
|
|
88
|
+
**Note:** This transport uses Web Standard streamable HTTP (MCP Streamable HTTP transport; the SDK negotiates protocol version, defaulting to 2025-03-26 and supporting up to 2025-11-25). There are no \`/mcp/sse\` or \`/mcp/message\` endpoints — the server handles all MCP traffic through a single fetch handler.
|
|
89
|
+
|
|
90
|
+
## Server lifecycle
|
|
91
|
+
|
|
92
|
+
### Starting MCP server
|
|
93
|
+
|
|
94
|
+
\`\`\`bash
|
|
95
|
+
vibes dev mcp start
|
|
96
|
+
\`\`\`
|
|
97
|
+
|
|
98
|
+
Starts MCP server in background with stdio transport.
|
|
99
|
+
|
|
100
|
+
### Serving HTTP endpoint
|
|
101
|
+
|
|
102
|
+
\`\`\`bash
|
|
103
|
+
vibes dev mcp serve --port 3001
|
|
104
|
+
\`\`\`
|
|
105
|
+
|
|
106
|
+
Starts HTTP server using Web Standard streamable HTTP transport (not SSE).
|
|
107
|
+
|
|
108
|
+
### Stopping server
|
|
109
|
+
|
|
110
|
+
\`\`\`bash
|
|
111
|
+
vibes dev mcp stop
|
|
112
|
+
\`\`\`
|
|
113
|
+
|
|
114
|
+
Gracefully shuts down server.
|
|
115
|
+
|
|
116
|
+
### Restarting server
|
|
117
|
+
|
|
118
|
+
\`\`\`bash
|
|
119
|
+
vibes dev mcp restart
|
|
120
|
+
\`\`\`
|
|
121
|
+
|
|
122
|
+
Stops and restarts server (picks up config changes).
|
|
123
|
+
|
|
124
|
+
## Server configuration
|
|
125
|
+
|
|
126
|
+
### MCP adapter options
|
|
127
|
+
|
|
128
|
+
\`\`\`ts
|
|
129
|
+
import type { McpAdapterOptions } from '@vibesdotdev/mcp';
|
|
130
|
+
import { createMcpAdapter } from '@vibesdotdev/mcp/adapters/mcp';
|
|
131
|
+
import { createMcpAuthenticator } from '@vibesdotdev/mcp';
|
|
132
|
+
|
|
133
|
+
// \`runtime\` is the VibesRuntime handed to your host entry. The token is a credential.
|
|
134
|
+
const token = await runtime.resolveCredential({ source: 'secret', key: 'MCP_TOKEN' });
|
|
135
|
+
if (!token.ok) throw token.error;
|
|
136
|
+
|
|
137
|
+
const options: McpAdapterOptions = {
|
|
138
|
+
mode: 'http', // 'stdio' | 'http'
|
|
139
|
+
mcpClientId: 'claude-desktop', // Client identifier (optional)
|
|
140
|
+
logLevel: 'info', // LogLevel (optional)
|
|
141
|
+
toolExecutionTimeoutMs: 30_000, // Per-tool timeout (optional)
|
|
142
|
+
port: 3001, // http mode only
|
|
143
|
+
authenticate: createMcpAuthenticator({
|
|
144
|
+
apiKeys: [token.value],
|
|
145
|
+
scope: 'mcp'
|
|
146
|
+
}) // optional; omit for unauthenticated
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
const server = createMcpAdapter(runtime, options, logger);
|
|
150
|
+
\`\`\`
|
|
151
|
+
|
|
152
|
+
### Capability negotiation
|
|
153
|
+
|
|
154
|
+
Server advertises capabilities during handshake:
|
|
155
|
+
|
|
156
|
+
\`\`\`ts
|
|
157
|
+
capabilities: {
|
|
158
|
+
tools: { listChanged: true }, // Tool discovery
|
|
159
|
+
resources: { listChanged: true }, // Resource access
|
|
160
|
+
prompts: { listChanged: true } // Prompt templates
|
|
161
|
+
}
|
|
162
|
+
\`\`\`
|
|
163
|
+
|
|
164
|
+
Clients can request specific capabilities.
|
|
165
|
+
|
|
166
|
+
## Tool registration
|
|
167
|
+
|
|
168
|
+
Tools are auto-discovered from runtime:
|
|
169
|
+
|
|
170
|
+
\`\`\`ts
|
|
171
|
+
const descriptors = runtime.query('tools/tool').descriptors();
|
|
172
|
+
for (const descriptor of descriptors) {
|
|
173
|
+
server.registerTool(
|
|
174
|
+
descriptor.id,
|
|
175
|
+
{
|
|
176
|
+
title: descriptor.name,
|
|
177
|
+
description: descriptor.description,
|
|
178
|
+
inputSchema: descriptor.schemas.input,
|
|
179
|
+
outputSchema: descriptor.schemas.output
|
|
180
|
+
},
|
|
181
|
+
async (args) => {
|
|
182
|
+
return invokeTool({ runtime, toolId: descriptor.id, input: args });
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
\`\`\`
|
|
187
|
+
|
|
188
|
+
## Resource registration
|
|
189
|
+
|
|
190
|
+
Resources provide read-only data access:
|
|
191
|
+
|
|
192
|
+
\`\`\`ts
|
|
193
|
+
server.registerResource(
|
|
194
|
+
'workspace-files',
|
|
195
|
+
'file://workspace/**',
|
|
196
|
+
{
|
|
197
|
+
description: 'Workspace file contents',
|
|
198
|
+
mimeType: 'text/plain'
|
|
199
|
+
},
|
|
200
|
+
async (uri) => {
|
|
201
|
+
const content = await fs.read(uri.pathname);
|
|
202
|
+
return {
|
|
203
|
+
contents: [{
|
|
204
|
+
uri: uri.href,
|
|
205
|
+
mimeType: 'text/plain',
|
|
206
|
+
text: content
|
|
207
|
+
}]
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
);
|
|
211
|
+
\`\`\`
|
|
212
|
+
|
|
213
|
+
## Prompt registration
|
|
214
|
+
|
|
215
|
+
Prompts provide templated messages:
|
|
216
|
+
|
|
217
|
+
\`\`\`ts
|
|
218
|
+
server.registerPrompt(
|
|
219
|
+
'code-review',
|
|
220
|
+
{
|
|
221
|
+
description: 'Review code for best practices',
|
|
222
|
+
argsSchema: {
|
|
223
|
+
filePath: z.string().describe('File to review')
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
async (args) => {
|
|
227
|
+
const code = await fs.read(args.filePath);
|
|
228
|
+
return {
|
|
229
|
+
messages: [{
|
|
230
|
+
role: 'user',
|
|
231
|
+
content: {
|
|
232
|
+
type: 'text',
|
|
233
|
+
text: \`Review this code:\\n\\n\${code}\`
|
|
234
|
+
}
|
|
235
|
+
}]
|
|
236
|
+
};
|
|
237
|
+
}
|
|
238
|
+
);
|
|
239
|
+
\`\`\`
|
|
240
|
+
|
|
241
|
+
## Authentication
|
|
242
|
+
|
|
243
|
+
### Bearer token auth (local allowlist)
|
|
244
|
+
|
|
245
|
+
Pass allowed API keys directly. The returned function is passed as \`authenticate\` to the transport or adapter options.
|
|
246
|
+
|
|
247
|
+
\`\`\`ts
|
|
248
|
+
import { createMcpAuthenticator } from '@vibesdotdev/mcp';
|
|
249
|
+
|
|
250
|
+
const token = await runtime.resolveCredential({ source: 'secret', key: 'MCP_TOKEN' });
|
|
251
|
+
if (!token.ok) throw token.error;
|
|
252
|
+
|
|
253
|
+
const authenticate = createMcpAuthenticator({
|
|
254
|
+
apiKeys: [token.value],
|
|
255
|
+
scope: 'mcp'
|
|
256
|
+
});
|
|
257
|
+
|
|
258
|
+
// Pass to createBunMcpServer:
|
|
259
|
+
const server = createBunMcpServer({ ..., authenticate });
|
|
260
|
+
|
|
261
|
+
// Or pass to createMcpAdapter:
|
|
262
|
+
const adapter = createMcpAdapter(runtime, { ..., authenticate }, logger);
|
|
263
|
+
\`\`\`
|
|
264
|
+
|
|
265
|
+
### Remote validation (cloud mode)
|
|
266
|
+
|
|
267
|
+
For cloud deployments, configure the host-owned authentication API endpoint:
|
|
268
|
+
|
|
269
|
+
\`\`\`ts
|
|
270
|
+
const authenticate = createMcpAuthenticator({
|
|
271
|
+
remote: true,
|
|
272
|
+
scope: 'mcp',
|
|
273
|
+
authApiBaseUrl: 'https://auth.example.test' // supplied by host composition
|
|
274
|
+
});
|
|
275
|
+
\`\`\`
|
|
276
|
+
|
|
277
|
+
## Logging
|
|
278
|
+
|
|
279
|
+
MCP server emits structured logs on the logger of the runtime it was handed (never a module-level logger, which has no runtime):
|
|
280
|
+
|
|
281
|
+
\`\`\`ts
|
|
282
|
+
import { getLogger } from '@vibesdotdev/logging';
|
|
283
|
+
|
|
284
|
+
const logger = getLogger('mcp', runtime);
|
|
285
|
+
logger.info('MCP server started', {
|
|
286
|
+
transport: 'stdio',
|
|
287
|
+
capabilities: ['tools', 'resources']
|
|
288
|
+
});
|
|
289
|
+
\`\`\`
|
|
290
|
+
|
|
291
|
+
**Log levels:**
|
|
292
|
+
- \`debug\` — Protocol messages
|
|
293
|
+
- \`info\` — Lifecycle events
|
|
294
|
+
- \`warn\` — Non-critical errors
|
|
295
|
+
- \`error\` — Critical failures
|
|
296
|
+
|
|
297
|
+
## WRONG: Manual protocol handling
|
|
298
|
+
|
|
299
|
+
\`\`\`ts
|
|
300
|
+
// ❌ NEVER — use createMcpAdapter instead
|
|
301
|
+
const server = new McpServer({ name: 'custom', version: '1.0' });
|
|
302
|
+
// Manual tool registration...
|
|
303
|
+
\`\`\`
|
|
304
|
+
|
|
305
|
+
## RIGHT: Runtime-integrated server
|
|
306
|
+
|
|
307
|
+
\`\`\`ts
|
|
308
|
+
// ✅ Auto-discovers tools/resources/prompts
|
|
309
|
+
const server = createMcpAdapter(runtime, options, logger);
|
|
310
|
+
\`\`\`
|
|
311
|
+
|
|
312
|
+
## MCP client configuration
|
|
313
|
+
|
|
314
|
+
### Claude Desktop
|
|
315
|
+
|
|
316
|
+
\`\`\`json
|
|
317
|
+
{
|
|
318
|
+
"mcpServers": {
|
|
319
|
+
"vibes": {
|
|
320
|
+
"command": "vibes",
|
|
321
|
+
"args": ["dev", "mcp", "start"]
|
|
322
|
+
}
|
|
323
|
+
}
|
|
324
|
+
}
|
|
325
|
+
\`\`\`
|
|
326
|
+
|
|
327
|
+
### Cursor IDE (and any stdio-capable client)
|
|
328
|
+
|
|
329
|
+
\`\`\`json
|
|
330
|
+
{
|
|
331
|
+
"mcpServers": {
|
|
332
|
+
"vibes": {
|
|
333
|
+
"type": "stdio",
|
|
334
|
+
"command": "vibes",
|
|
335
|
+
"args": ["dev", "mcp", "serve", "--mode", "stdio", "--client", "claude"]
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
\`\`\`
|
|
340
|
+
|
|
341
|
+
The stdio relay attaches to the shared runtime host, so there is no fixed URL
|
|
342
|
+
to configure. The HTTP transport's port is derived per workspace (there is no
|
|
343
|
+
fixed \`3001\`) — run \`vibes dev mcp status\` to see the port the current
|
|
344
|
+
workspace is serving on before pointing an HTTP client at it. \`--client\` is
|
|
345
|
+
the legacy catalog/harness selector; \`vibes dev mcp serve --help\` lists the
|
|
346
|
+
newer \`--preset\` / \`--harness\` / \`--agent\` knobs.
|
|
347
|
+
|
|
348
|
+
## Monitoring
|
|
349
|
+
|
|
350
|
+
Adapters expose start() and shutdown(). They do not expose an event emitter.
|
|
351
|
+
Pass the runtime logger to observe protocol and listener failures. For tool-call
|
|
352
|
+
instrumentation, supply prepareToolCallContext on the tool-aware adapter; it
|
|
353
|
+
receives the canonical tool id, validated input and prepared context before
|
|
354
|
+
invocation. Return the context to preserve the serving authority.
|
|
355
|
+
|
|
356
|
+
Use the projection doctor and live tool audit to compare the observed wire
|
|
357
|
+
catalog with authored descriptors. They report measured bytes, schema loss and
|
|
358
|
+
description drift; policy audit findings and high-severity wire findings retain
|
|
359
|
+
their distinct verdicts.
|
|
360
|
+
|
|
361
|
+
:::card{title="See also"}
|
|
362
|
+
- [\`mcp.tools\`](mcp.tools) — MCP tool exposure
|
|
363
|
+
- [\`mcp.resources\`](mcp.resources) — MCP resources
|
|
364
|
+
- [\`mcp.prompts\`](mcp.prompts) — MCP prompts
|
|
365
|
+
- \`dev.mcp.start\` — Start command reference
|
|
366
|
+
:::
|
|
367
|
+
`
|
|
368
|
+
},
|
|
369
|
+
parent: 'mcp',
|
|
370
|
+
order: 1,
|
|
371
|
+
tags: ['mcp', 'server', 'transport', 'lifecycle', 'protocol'],
|
|
372
|
+
surfaces: ['cli', 'web', 'in-app'],
|
|
373
|
+
hardware: ['consumer', 'cloud'],
|
|
374
|
+
man: {
|
|
375
|
+
name: 'mcp.server — MCP server setup and lifecycle',
|
|
376
|
+
section: 1,
|
|
377
|
+
synopsis: 'vibes man mcp.server',
|
|
378
|
+
seeAlso: ['mcp.tools', 'dev.mcp.start', 'dev.mcp.serve']
|
|
379
|
+
},
|
|
380
|
+
enabled: true
|
|
381
|
+
};
|
|
382
|
+
export default descriptor;
|
|
383
|
+
//# sourceMappingURL=server.docs.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/server.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,YAAY;IAChB,KAAK,EAAE,YAAY;IACnB,OAAO,EAAE,+DAA+D;IACxE,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsWX;KACE;IACD,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,GAAG,EAAE;QACH,IAAI,EAAE,6CAA6C;QACnD,OAAO,EAAE,CAAC;QACV,QAAQ,EAAE,sBAAsB;QAChC,OAAO,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,eAAe,CAAC;KACzD;IACD,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.docs.descriptor.d.ts","sourceRoot":"","sources":["../../src/docs/tools.docs.descriptor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,QAAA,MAAM,UAAU,EAAE,mBAyTjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,316 @@
|
|
|
1
|
+
const descriptor = {
|
|
2
|
+
kind: 'docs/topic',
|
|
3
|
+
id: 'mcp.tools',
|
|
4
|
+
title: 'MCP Tools',
|
|
5
|
+
summary: 'Tool exposure, discovery, and invocation via MCP protocol',
|
|
6
|
+
body: {
|
|
7
|
+
type: 'markdown',
|
|
8
|
+
sourceType: 'raw',
|
|
9
|
+
source: `---
|
|
10
|
+
title: MCP Tools
|
|
11
|
+
summary: Expose and invoke runtime tools via Model Context Protocol
|
|
12
|
+
tags: [mcp, tools, discovery, invocation, adapters]
|
|
13
|
+
parent: mcp
|
|
14
|
+
order: 2
|
|
15
|
+
surfaces: [cli, web, in-app]
|
|
16
|
+
hardware: [consumer, cloud]
|
|
17
|
+
---
|
|
18
|
+
|
|
19
|
+
MCP **tools** are callable functions exposed to AI clients. The MCP server auto-discovers \`tools/tool\` descriptors from the runtime and exposes them via the protocol.
|
|
20
|
+
|
|
21
|
+
MCP owns one orientation tool: \`vibes-context\`. It returns a read-only snapshot of workspace path, project id, atlas index, workspace file index, and the bound work session. Chat surfaces render that payload with a designed Kit \`ToolCard\` registered as \`tools/ui\` by \`@vibesdotdev/mcp/svelte/plugin\` — not a JSON dump and not a host-local card table.
|
|
22
|
+
|
|
23
|
+
## Tool discovery
|
|
24
|
+
|
|
25
|
+
MCP server queries runtime for available tools:
|
|
26
|
+
|
|
27
|
+
\`\`\`ts
|
|
28
|
+
const descriptors = runtime.query('tools/tool').descriptors();
|
|
29
|
+
const enabled = runtime.query('tools/tool').enabled().descriptors();
|
|
30
|
+
\`\`\`
|
|
31
|
+
|
|
32
|
+
Tools are filtered based on:
|
|
33
|
+
1. **Enabled status** — Disabled tools not exposed
|
|
34
|
+
2. **MCP client ID** — Some tools client-specific
|
|
35
|
+
3. **Safety category** — High-risk tools may require approval
|
|
36
|
+
|
|
37
|
+
## Tool exposure
|
|
38
|
+
|
|
39
|
+
Each tool registers with MCP server:
|
|
40
|
+
|
|
41
|
+
\`\`\`ts
|
|
42
|
+
server.registerTool(
|
|
43
|
+
descriptor.id,
|
|
44
|
+
{
|
|
45
|
+
title: descriptor.name ?? descriptor.id,
|
|
46
|
+
description: resolveMcpDescription(descriptor),
|
|
47
|
+
inputSchema: flattenDiscriminatedUnion(descriptor.schemas.input),
|
|
48
|
+
outputSchema: descriptor.schemas.output,
|
|
49
|
+
annotations: deriveMcpAnnotations(descriptor.safety)
|
|
50
|
+
},
|
|
51
|
+
async (args, extra) => {
|
|
52
|
+
// Invoke through runtime
|
|
53
|
+
const result = await invokeTool({
|
|
54
|
+
runtime,
|
|
55
|
+
toolId: descriptor.id,
|
|
56
|
+
input: args,
|
|
57
|
+
ctx: {
|
|
58
|
+
callId: \`mcp_\${Date.now()}_\${crypto.randomUUID()}\`,
|
|
59
|
+
signal: extra.signal,
|
|
60
|
+
sendProgress: extra.sendProgress
|
|
61
|
+
}
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
return formatMcpResponse(result);
|
|
65
|
+
}
|
|
66
|
+
);
|
|
67
|
+
\`\`\`
|
|
68
|
+
|
|
69
|
+
## Schema conversion
|
|
70
|
+
|
|
71
|
+
A tool's \`schemas.input\` zod schema is converted to MCP JSON Schema by the MCP
|
|
72
|
+
adapter when it serves \`tools/list\` (Zod's JSON Schema generation, then pattern and
|
|
73
|
+
union-branch tightening). Tool authors write the zod schema; there is no conversion
|
|
74
|
+
call to make:
|
|
75
|
+
|
|
76
|
+
\`\`\`ts
|
|
77
|
+
schemas: {
|
|
78
|
+
input: z.object({
|
|
79
|
+
path: z.string().describe('File path to read'),
|
|
80
|
+
encoding: z.enum(['utf8', 'binary']).optional()
|
|
81
|
+
})
|
|
82
|
+
}
|
|
83
|
+
\`\`\`
|
|
84
|
+
|
|
85
|
+
**Supported Zod features:**
|
|
86
|
+
- ✅ \`z.string()\`, \`z.number()\`, \`z.boolean()\`
|
|
87
|
+
- ✅ \`z.object()\` with nested properties
|
|
88
|
+
- ✅ \`z.enum()\` for fixed options
|
|
89
|
+
- ✅ \`z.array()\` for lists
|
|
90
|
+
- ✅ \`z.optional()\` for optional fields
|
|
91
|
+
- ✅ \`z.describe()\` for field descriptions
|
|
92
|
+
|
|
93
|
+
**Discriminated unions:** Flattened to merged object schema:
|
|
94
|
+
|
|
95
|
+
\`\`\`ts
|
|
96
|
+
// Zod discriminated union
|
|
97
|
+
const schema = z.discriminatedUnion('action', [
|
|
98
|
+
z.object({ action: z.literal('read'), path: z.string() }),
|
|
99
|
+
z.object({ action: z.literal('write'), path: z.string(), content: z.string() })
|
|
100
|
+
]);
|
|
101
|
+
|
|
102
|
+
// MCP schema (flattened)
|
|
103
|
+
{
|
|
104
|
+
type: 'object',
|
|
105
|
+
properties: {
|
|
106
|
+
action: { type: 'string', enum: ['read', 'write'] },
|
|
107
|
+
path: { type: 'string' },
|
|
108
|
+
content: { type: 'string', optional: true }
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
\`\`\`
|
|
112
|
+
|
|
113
|
+
## Tool annotations
|
|
114
|
+
|
|
115
|
+
MCP annotations provide hints to clients:
|
|
116
|
+
|
|
117
|
+
\`\`\`ts
|
|
118
|
+
annotations: {
|
|
119
|
+
readOnlyHint: true, // Tool doesn't modify state
|
|
120
|
+
destructiveHint: false, // Tool doesn't delete/destroy
|
|
121
|
+
idempotentHint: true, // Multiple calls = same result
|
|
122
|
+
openWorldHint: false // Tool operates in closed system
|
|
123
|
+
}
|
|
124
|
+
\`\`\`
|
|
125
|
+
|
|
126
|
+
Derived from tool safety category:
|
|
127
|
+
- \`read\` → readOnlyHint: true
|
|
128
|
+
- \`write\` → destructiveHint: true
|
|
129
|
+
- \`execute\` → openWorldHint: true
|
|
130
|
+
|
|
131
|
+
## Tool invocation flow
|
|
132
|
+
|
|
133
|
+
\`\`\`
|
|
134
|
+
1. MCP client calls tools/list
|
|
135
|
+
↓
|
|
136
|
+
2. Server returns available tools
|
|
137
|
+
↓
|
|
138
|
+
3. Client calls tools/call with tool ID + args
|
|
139
|
+
↓
|
|
140
|
+
4. Server invokes tool via runtime.invokeTool()
|
|
141
|
+
↓
|
|
142
|
+
5. Tool executes (may call other tools, access resources)
|
|
143
|
+
↓
|
|
144
|
+
6. Result formatted as MCP response
|
|
145
|
+
↓
|
|
146
|
+
7. Client receives result
|
|
147
|
+
\`\`\`
|
|
148
|
+
|
|
149
|
+
## Response formatting
|
|
150
|
+
|
|
151
|
+
Tool results formatted per MCP spec:
|
|
152
|
+
|
|
153
|
+
\`\`\`ts
|
|
154
|
+
// String result
|
|
155
|
+
{
|
|
156
|
+
content: [{ type: 'text', text: 'Operation successful' }]
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
// Object result
|
|
160
|
+
{
|
|
161
|
+
content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
|
|
162
|
+
structuredContent: result // Typed data for clients
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// MCP content (from tool)
|
|
166
|
+
{
|
|
167
|
+
content: [
|
|
168
|
+
{ type: 'text', text: 'Processing...' },
|
|
169
|
+
{ type: 'resource_link', name: 'file.txt', uri: 'file://file.txt' }
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// Error result
|
|
174
|
+
{
|
|
175
|
+
content: [{ type: 'text', text: 'Error: Permission denied' }],
|
|
176
|
+
isError: true,
|
|
177
|
+
_meta: {
|
|
178
|
+
errorCode: 'PERMISSION_DENIED',
|
|
179
|
+
recoveryHint: 'Grant workspace access first',
|
|
180
|
+
suggestedToolCall: {
|
|
181
|
+
toolId: 'workspace-grant',
|
|
182
|
+
input: { path: '/workspace' }
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
\`\`\`
|
|
187
|
+
|
|
188
|
+
## Trust tags
|
|
189
|
+
|
|
190
|
+
Tool outputs wrapped with trust tags for prompt injection protection:
|
|
191
|
+
|
|
192
|
+
\`\`\`ts
|
|
193
|
+
// Trust tier derived from safety category
|
|
194
|
+
const trustTier = deriveTrustTier(descriptor); // 'low' | 'medium' | 'high'
|
|
195
|
+
|
|
196
|
+
// Wrap output with nonce-tagged boundary
|
|
197
|
+
const wrapped = wrapToolOutputText({
|
|
198
|
+
toolId: descriptor.id,
|
|
199
|
+
tier: trustTier,
|
|
200
|
+
text: result,
|
|
201
|
+
nonce: callNonce // Unique per tool call
|
|
202
|
+
});
|
|
203
|
+
\`\`\`
|
|
204
|
+
|
|
205
|
+
Prevents injected instructions in tool output from impersonating system content.
|
|
206
|
+
|
|
207
|
+
## Progress reporting
|
|
208
|
+
|
|
209
|
+
Tools can report progress during execution:
|
|
210
|
+
|
|
211
|
+
\`\`\`ts
|
|
212
|
+
async (args, extra) => {
|
|
213
|
+
extra.sendProgress?.({
|
|
214
|
+
progress: 0.5, // 50% complete
|
|
215
|
+
total: 100,
|
|
216
|
+
message: 'Processing files...'
|
|
217
|
+
});
|
|
218
|
+
|
|
219
|
+
const result = await invokeTool({ ... });
|
|
220
|
+
return formatMcpResponse(result);
|
|
221
|
+
}
|
|
222
|
+
\`\`\`
|
|
223
|
+
|
|
224
|
+
## Cancellation
|
|
225
|
+
|
|
226
|
+
Tools support cancellation via AbortSignal:
|
|
227
|
+
|
|
228
|
+
\`\`\`ts
|
|
229
|
+
async (args, extra) => {
|
|
230
|
+
if (extra.signal?.aborted) {
|
|
231
|
+
throw new Error('Tool call cancelled');
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
return invokeTool({
|
|
235
|
+
...,
|
|
236
|
+
ctx: { signal: extra.signal }
|
|
237
|
+
});
|
|
238
|
+
}
|
|
239
|
+
\`\`\`
|
|
240
|
+
|
|
241
|
+
## Tool selection presets
|
|
242
|
+
|
|
243
|
+
MCP clients can request tool subsets:
|
|
244
|
+
|
|
245
|
+
\`\`\`ts
|
|
246
|
+
import { selectMcpTools } from '@vibesdotdev/mcp/adapters/mcp';
|
|
247
|
+
|
|
248
|
+
const selected = selectMcpTools(descriptors, {
|
|
249
|
+
mcpClientId: 'claude-desktop',
|
|
250
|
+
preset: 'minimal' // or 'full', 'safe-only'
|
|
251
|
+
});
|
|
252
|
+
\`\`\`
|
|
253
|
+
|
|
254
|
+
**Presets:**
|
|
255
|
+
- \`minimal\` — Read-only tools (workspace-fs, workspace-fs)
|
|
256
|
+
- \`safe\` — Read + write with confirmation
|
|
257
|
+
- \`full\` — All tools including execute
|
|
258
|
+
|
|
259
|
+
## WRONG: Manual tool registration
|
|
260
|
+
|
|
261
|
+
\`\`\`ts
|
|
262
|
+
// ❌ NEVER — bypasses auto-discovery
|
|
263
|
+
server.registerTool('my-tool', {...}, handler);
|
|
264
|
+
\`\`\`
|
|
265
|
+
|
|
266
|
+
## RIGHT: Runtime auto-discovery
|
|
267
|
+
|
|
268
|
+
\`\`\`ts
|
|
269
|
+
// ✅ Server auto-discovers all tools/tool descriptors
|
|
270
|
+
const server = buildServer(runtime, options, logger);
|
|
271
|
+
\`\`\`
|
|
272
|
+
|
|
273
|
+
## Tool debugging
|
|
274
|
+
|
|
275
|
+
Enable debug logging:
|
|
276
|
+
|
|
277
|
+
\`\`\`bash
|
|
278
|
+
vibes dev mcp start --log-level debug
|
|
279
|
+
\`\`\`
|
|
280
|
+
|
|
281
|
+
Logs show:
|
|
282
|
+
- Tool discovery results
|
|
283
|
+
- Schema conversion warnings
|
|
284
|
+
- Invocation timing
|
|
285
|
+
- Error details
|
|
286
|
+
|
|
287
|
+
## Monitoring
|
|
288
|
+
|
|
289
|
+
Track tool usage:
|
|
290
|
+
|
|
291
|
+
\`\`\`ts
|
|
292
|
+
runtime.on('tools/invocation', (event) => {
|
|
293
|
+
metrics.histogram('tools.duration', event.duration);
|
|
294
|
+
metrics.increment(\`tools.\${event.toolId}.calls\`);
|
|
295
|
+
|
|
296
|
+
if (event.error) {
|
|
297
|
+
metrics.increment(\`tools.\${event.toolId}.errors\`);
|
|
298
|
+
}
|
|
299
|
+
});
|
|
300
|
+
\`\`\`
|
|
301
|
+
|
|
302
|
+
:::card{title="See also"}
|
|
303
|
+
- [\`mcp.server\`](mcp.server) — MCP server setup
|
|
304
|
+
- [\`tools.invoke\`](tools.invoke) — invokeTool API
|
|
305
|
+
:::
|
|
306
|
+
`
|
|
307
|
+
},
|
|
308
|
+
parent: 'mcp',
|
|
309
|
+
order: 2,
|
|
310
|
+
tags: ['mcp', 'tools', 'discovery', 'invocation', 'adapters'],
|
|
311
|
+
surfaces: ['cli', 'web', 'in-app'],
|
|
312
|
+
hardware: ['consumer', 'cloud'],
|
|
313
|
+
enabled: true
|
|
314
|
+
};
|
|
315
|
+
export default descriptor;
|
|
316
|
+
//# sourceMappingURL=tools.docs.descriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tools.docs.descriptor.js","sourceRoot":"","sources":["../../src/docs/tools.docs.descriptor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,GAAwB;IACtC,IAAI,EAAE,YAAY;IAClB,EAAE,EAAE,WAAW;IACf,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,2DAA2D;IACpE,IAAI,EAAE;QACJ,IAAI,EAAE,UAAU;QAChB,UAAU,EAAE,KAAK;QACjB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAySX;KACE;IACD,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC;IAC7D,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;IAClC,QAAQ,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/B,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,eAAe,UAAU,CAAC"}
|