Skip to content

MCP with Federated Auth

Transform existing private enterprise APIs into LLM-ready MCP tools without hand-coding each tool wrapper. Add the API definition and authentication mapping, then validate the generated schema, authorization behavior, and network reachability before deployment.

Add your existing APIs to DeepIntShield using any of these methods:

Import your existing Postman collections directly into DeepIntShield. All request configurations, headers, and parameters are preserved.

{
"info": {
"name": "Enterprise API Collection",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "Get User Profile",
"request": {
"method": "GET",
"header": [
{
"key": "Authorization",
"value": "{{req.header.authorization}}",
"type": "text"
}
],
"url": {
"raw": "https://api.company.com/users/profile",
"host": ["api", "company", "com"],
"path": ["users", "profile"]
}
}
}
]
}

Once you upload your API specifications, DeepIntShield automatically:

  • Syncs authentication systems from your existing APIs
  • Converts endpoints into MCP-compatible tools
  • Maintains security using your current auth infrastructure
  • Makes validated APIs available to LLMs after configuration and deployment

DeepIntShield automatically handles all common authentication patterns:

  • Bearer Tokens (JWT, OAuth)
  • API Keys (headers, query parameters)
  • Custom Headers (tenant IDs, user tokens)
  • Basic Auth and other standard methods

Transform your Salesforce, HubSpot, or custom CRM APIs:

{
"name": "Get Customer Data",
"method": "GET",
"url": "https://api.company.com/crm/customers/{{req.body.customer_id}}",
"headers": {
"Authorization": "{{req.header.authorization}}",
"X-Tenant-ID": "{{req.header.x-tenant-id}}"
}
}

Make your internal microservices LLM-accessible:

paths:
/internal/user-service/profile:
get:
parameters:
- name: Authorization
in: header
schema:
type: string
default: "{{req.header.authorization}}"
- name: X-Service-Token
in: header
schema:
type: string
default: "{{env.INTERNAL_SERVICE_TOKEN}}"

Connect to your database APIs securely:

POST https://db-api.company.com/query
Content-Type: application/json
Authorization: {{req.header.authorization}}
X-Database-Name: {{req.header.x-database}}
{
"query": "SELECT * FROM users WHERE tenant_id = '{{req.body.tenant_id}}'",
"limit": 100
}
  • Authentication happens at the edge (your existing systems)
  • Delegated X-MCP-Subject-Token values are redacted and never persisted; exchanged resource tokens live only in a bounded process-local session pool
  • Shared MCP headers, OAuth client configuration, and OAuth tokens can be persisted. Configure one stable DEEPINTSHIELD_ENCRYPTION_KEY to encrypt those values at rest; without it, literal values remain plaintext
  • When canonical GAF is enabled, every MCP invocation is independently authorized even when an upstream OAuth transport session is reused
  • Leverage your current RBAC (Role-Based Access Control)
  • Maintain existing audit trails
  • No changes to security infrastructure required
  • Different users get different API access based on their credentials
  • Tenant isolation maintained through existing headers
  • API rate limiting and quotas preserved
  • Delegated caller tokens are not persisted; explicitly configured shared credentials follow the storage and encryption rules above
  • Existing compliance frameworks remain intact
  • Audit trails maintained in your systems