Skip to content

docs: MCP Exposed Services scoping and API key authentication (7.7.1) - #124

Open
thekevinm wants to merge 2 commits into
mainfrom
docs/mcp-771-exposed-services-apikey
Open

thekevinm wants to merge 2 commits into
mainfrom
docs/mcp-771-exposed-services-apikey

Conversation

@thekevinm

Copy link
Copy Markdown
Contributor

What this documents

DreamFactory 7.7.1 adds two MCP features (df-mcp-server PRs #55 and #56): a per-endpoint Exposed Services allowlist that scopes tools/list, and per-service API key authentication for the MCP endpoint. This PR documents both, including the automatic rename/delete sync that keeps exposed_services in step with backend service changes.

New pages

  • Scoping Tools with Exposed Services (docs/AI/mcp-exposed-services.md) — the per-MCP-endpoint allowlist of database/file services, the admin multi-select, empty-means-none (deliberate; custom tools, search/fetch and global tools still register), the scope_tools / MCP_SCOPE_TOOLS tri-state with a combination table (a non-empty list always applies, even with scoping switched off), the upgrade backfill (frozen snapshot — nothing shrinks; later-added services are selected manually), automatic rename/delete sync, how scoping composes with Built-in Tools (disabled_tools: scoping first, then the per-tool denylist), and the leaner catalog (trimmed descriptions; all_* aggregators only register with 2+ services of a category).
  • API Key Authentication for MCP (docs/AI/mcp-api-key-auth.md) — the per-service Allow API Key Authentication opt-in (off by default), X-DreamFactory-API-Key with a standard DF app key (app must be active and have a role; role ∩ Exposed Services governs tools), Bearer/OAuth precedence, optional X-DreamFactory-Session-Token layering for user-specific RBAC, curl examples, and security guidance (treat keys as secrets, keys never written to logs at the default level, mcp_request_log auditing with app/role attribution).

Updated pages

  • Deploying the MCP Server — new MCP_INTERNAL_BASE_URL and MCP_SCOPE_TOOLS configuration rows plus a dedicated callback-URL section (external port ≠ internal port ⇒ connecting and tools/list work but every tool call fails), two new troubleshooting rows, and an Upgrading to 7.7.1 section covering the migration backfill, the reconnect-clients note, and the export/import caveat in both directions.
  • MCP Server, Creating an MCP Server Service, MCP FAQ — no longer claim every database/file service is auto-exposed; the creation guide documents the two new Advanced Options fields, and the FAQ gains "Why doesn't my MCP server show any database or file tools?" and "Can a client authenticate with an API key instead of OAuth?".
  • AI sidebar renumbered to make room for the two new pages (also fixes a pre-existing duplicate sidebar_position: 4).

Screenshots

Four admin-UI screenshots under static/img/ai/mcp-access/: the MCP Servers list, the Exposed Services multi-select open, the Allow API Key Authentication toggle, and the Built-in Tools per-tool toggles. OAuth credential fields are redacted in the images.

Verification

  • npm run build (Docusaurus 3.6, Node 20) passes with no broken links or anchors.
  • This repo has no changelog/release-notes file (release notes live on GitHub Releases), so the version-specific notes live in the deployment page's "Upgrading to 7.7.1" section.

🤖 Generated with Claude Code

Kevin McGahey and others added 2 commits September 16, 2026 23:29
Two new pages under AI:

- Scoping Tools with Exposed Services: the per-endpoint allowlist of
  database/file services, empty-means-none, the scope_tools /
  MCP_SCOPE_TOOLS tri-state (a non-empty list always applies), the
  upgrade backfill snapshot, automatic rename/delete sync, how scoping
  composes with Built-in Tools (disabled_tools), and the leaner catalog
  (short descriptions, all_* aggregators only with 2+ services).
- API Key Authentication for MCP: the per-service Allow API Key
  Authentication opt-in, X-DreamFactory-API-Key (active app with a role,
  role x Exposed Services), Bearer precedence, optional
  X-DreamFactory-Session-Token layering, security guidance and
  mcp_request_log auditing.

Deployment page gains MCP_INTERNAL_BASE_URL (external-port-differs
callback failures), an Upgrading to 7.7.1 section with the
export/import caveat, and two troubleshooting rows. The MCP overview,
creation guide and FAQ no longer claim every service is auto-exposed,
and the creation guide documents the two new Advanced Options fields.
Four admin-UI screenshots added under static/img/ai/mcp-access/.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@netlify

netlify Bot commented Sep 16, 2026

Copy link
Copy Markdown

Deploy Preview for dreamfactory-docs ready!

Name Link
🔨 Latest commit 3486273
🔍 Latest deploy log https://app.netlify.com/projects/dreamfactory-docs/deploys/6aab270dea293a0008dd9d1f
😎 Deploy Preview https://deploy-preview-124--dreamfactory-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant