This is an automated email from the ASF dual-hosted git repository.
janhoy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/solr-mcp.git
The following commit(s) were added to refs/heads/main by this push:
new a57f4d9 docs(security): document single-tenant deployment model
(#169) (#170)
a57f4d9 is described below
commit a57f4d9af50291e9a0074754bc98be8f1f5b14cd
Author: Jan Høydahl <[email protected]>
AuthorDate: Fri Jul 31 12:09:37 2026 +0200
docs(security): document single-tenant deployment model (#169) (#170)
---
README.md | 2 +-
docs/security/deployment-model.md | 23 +++++++++++++++++++++++
docs/security/http.md | 1 +
docs/security/stdio.md | 1 +
4 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index a6234f9..0ce88c7 100644
--- a/README.md
+++ b/README.md
@@ -153,7 +153,7 @@ Running in **HTTP mode** — OAuth2, CORS, and the
`HTTP_SECURITY_ENABLED` toggl
**Using it**
- [Quick start](docs/site/content/pages/mcp/quick-start.md) · [Client
setup](docs/site/content/pages/mcp/clients/) — Claude Desktop, Claude Code, VS
Code, Cursor, JetBrains, MCP Inspector
- [Observability](docs/site/content/pages/mcp/observability.md) —
OpenTelemetry traces, metrics, logs
-- Security: [STDIO model](docs/security/stdio.md) · [HTTP
model](docs/security/http.md) · OAuth2 setup: [Auth0](docs/security/auth0.md) ·
[Keycloak](docs/security/keycloak.md)
+- Security: [Deployment model
(single-tenant)](docs/security/deployment-model.md) · [STDIO
model](docs/security/stdio.md) · [HTTP model](docs/security/http.md) · OAuth2
setup: [Auth0](docs/security/auth0.md) · [Keycloak](docs/security/keycloak.md)
**Developing it**
- [Development guide](dev-docs/DEVELOPMENT.md) — build, run, test, IDE, native
image, SBOM · [Architecture](dev-docs/ARCHITECTURE.md)
diff --git a/docs/security/deployment-model.md
b/docs/security/deployment-model.md
new file mode 100644
index 0000000..6a478c3
--- /dev/null
+++ b/docs/security/deployment-model.md
@@ -0,0 +1,23 @@
+# Deployment Model — Single-Tenant by Design
+
+**The Solr MCP server is single-tenant. It does not support multi-tenancy.**
+
+The intended deployment is one instance per user, configured with that user's
+own Solr credentials. Every action the configured Solr identity is allowed to
+perform — including admin, schema, and collection operations — is by design
+reachable through the MCP tools. The server performs no per-user authorization
+or tenant isolation of its own; to limit what the tools can do, scope the Solr
+identity in Solr (Basic Auth, roles, mTLS, network policy).
+
+In HTTP mode, OAuth2 authenticates *that* a caller is allowed in, but every
+authenticated caller shares the same single Solr identity — it is an access
+gate, not a tenant boundary.
+
+Sharing one instance across multiple users, or otherwise treating it as
+multi-tenant, is unsupported: you are on your own for isolation and any
+resulting exposure. Multi-tenancy may be considered in a future release.
+
+## Related documents
+
+- [STDIO transport security model](./stdio.md)
+- [HTTP transport security model](./http.md)
diff --git a/docs/security/http.md b/docs/security/http.md
index 6add6df..391b9d5 100644
--- a/docs/security/http.md
+++ b/docs/security/http.md
@@ -171,6 +171,7 @@ exists for browser-based tooling.
## Related documents
+- [Deployment model — single-tenant by design](./deployment-model.md)
- [STDIO transport security model](./stdio.md)
- OAuth2 provider setup: [Auth0](./auth0.md) · [Keycloak](./keycloak.md)
- [GraalVM native image spec](../specs/graalvm-native-image.md)
diff --git a/docs/security/stdio.md b/docs/security/stdio.md
index af49a0a..e6ec7ec 100644
--- a/docs/security/stdio.md
+++ b/docs/security/stdio.md
@@ -93,6 +93,7 @@ that launched the process. No code changes are required for
STDIO security.
## Related documents
+- [Deployment model — single-tenant by design](./deployment-model.md)
- [HTTP transport security model](./http.md)
- OAuth2 provider setup (HTTP mode): [Auth0](./auth0.md) ·
[Keycloak](./keycloak.md)
- [GraalVM native image spec](../specs/graalvm-native-image.md)