From 77946d62c4a8fe63172263f311aebd4783a34e27 Mon Sep 17 00:00:00 2001 From: Public Source Publisher Date: Thu, 1 Oct 2026 14:43:08 +0000 Subject: [PATCH] Publish curated ITWorx_MCP_Hub source from 931c7aca4392dc771dad004a65d54f2b1c430c37 --- PUBLIC_SOURCE_EXPORT.md | 2 +- PUBLIC_SOURCE_MANIFEST.json | 6 +++--- README.md | 12 +++++++++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/PUBLIC_SOURCE_EXPORT.md b/PUBLIC_SOURCE_EXPORT.md index 5949096..fcb128a 100644 --- a/PUBLIC_SOURCE_EXPORT.md +++ b/PUBLIC_SOURCE_EXPORT.md @@ -1,3 +1,3 @@ # Public source export -This source snapshot was generated from the private canonical repository at revision `9ec6419178e8ddc76a698e84bde72d5ff4472411`. It contains no private Git history or operational evidence. Changes are published from the canonical repository. +This source snapshot was generated from the private canonical repository at revision `931c7aca4392dc771dad004a65d54f2b1c430c37`. It contains no private Git history or operational evidence. Changes are published from the canonical repository. diff --git a/PUBLIC_SOURCE_MANIFEST.json b/PUBLIC_SOURCE_MANIFEST.json index 2ef1509..dd53d44 100644 --- a/PUBLIC_SOURCE_MANIFEST.json +++ b/PUBLIC_SOURCE_MANIFEST.json @@ -1,6 +1,6 @@ { "schemaVersion": 1, - "sourceRevision": "9ec6419178e8ddc76a698e84bde72d5ff4472411", + "sourceRevision": "931c7aca4392dc771dad004a65d54f2b1c430c37", "files": [ { "path": ".dockerignore", @@ -24,8 +24,8 @@ }, { "path": "README.md", - "sha256": "c28e62e042725efa4fd8421d596b2f779d5b9cfe4eab0ef36a6f43f9c7f2ea4f", - "bytes": 4528 + "sha256": "6904a3e448be6e2952d01445d0c78d4b62f6a7184d56a36e7fc86679f4abea86", + "bytes": 5374 }, { "path": "SECURITY.md", diff --git a/README.md b/README.md index f44b478..34f1b95 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ flowchart LR ## Deployment -Requirements: Docker with Compose, Python 3.13, Node.js 24 and pnpm 10.33. The production stack is intentionally configuration-driven and has no universal one-command public demo. +Container deployment requires Docker with Compose, configured images and external services. Source development/build tooling uses Python 3.13, Node.js 24 and pnpm 10.33. The production stack is intentionally configuration-driven and has no universal one-command public demo. 1. Copy `infrastructure/compose/.env.example` to an untracked `.env` in that directory. 2. Replace every `REPLACE_*` input: dedicated host paths, bind addresses, OIDC issuer/client settings, project/resource bindings and immutable owned image references. @@ -51,6 +51,16 @@ External OIDC, registries and connector services are operator-supplied dependenc See [Client onboarding](docs/04-mcp/CLIENT_ONBOARDING.md) and [Security invariants](docs/02-security/SECURITY_INVARIANTS.md). A visible tool is not authorization to use it: project, environment, resource identity and caller privileges are checked independently. Report issues privately according to [SECURITY.md](SECURITY.md). +## Onboard one client before expanding access + +1. Register one project, environment and client identity with explicit resource bindings. +2. Configure only the connector required for that use case and inspect its readiness. +3. Discover the client's permitted tools and invoke one bounded read operation. +4. Check the corresponding policy decision and audit attribution. +5. Confirm that an out-of-scope request is denied before granting additional capabilities. + +Tool discovery, connector reachability and authorization are separate checks. An empty tool list can reflect missing bindings or denied scope; it is not a reason to grant global access. Preserve database state, external secret files and the deployment configuration together for recovery. + ## Development Python dependencies are locked by `uv.lock`; Node workspaces are locked by `pnpm-lock.yaml`. Tests cover authorization, contracts and runtime behavior. Canonical `python scripts/verify.py` additionally checks private design/evidence metadata; that complete archival gate belongs to the private repository. For public source development, install locked dependencies and run the relevant unit/integration tests and `apps/web` build. Integration/browser tests require their documented external services.