Akeyless MCP Interop (OpenID AIIM)
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Akeyless MCP Interop (OpenID AIIM)ping the MCP server"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Akeyless MCP Interop (OpenID AIIM)
HTTP MCP Server for the OpenID Foundation AIIM MCP Security Interoperability event (Gartner IAM Summit 2026).
Item | Value |
Formal role | MCP Server only |
Target matrix cell | OAuth 2.1 — OPRM (OAuth Protected Resource Metadata) |
Out of initial scope | CIMD, EMA/ID-JAG, MCP Gateway |
Booth | ARA is demonstrated on the booth (separate from this repo) |
Partners verify that this server advertises OPRM and accepts Bearer access tokens. That qualifies the OAuth token-based access × MCP Server cell.
Who continues from here
If you are picking this up:
Read this README.
Run Local quick start below and confirm tests pass.
Follow docs/DEPLOY-AWS.md to put a public HTTPS endpoint online.
Follow docs/TRACK-A-DEMO.md with a partner MCP Client.
Fill the OAuth matrix (each side fills the other role column) and submit to AIIM CG — first success due 16 Oct 2026.
Commit email to OpenID (if not already sent) is due 10 Aug 2026 PT — see docs/HANDOFF.md.
Related MCP server: mcp_auth_server
What this server does
Endpoint | Auth | Purpose |
| none | RFC 9728 OPRM document |
| none | Liveness |
| Bearer JWT | Streamable HTTP MCP ( |
Unauthenticated /mcp calls return 401 with:
WWW-Authenticate: Bearer realm="akeyless-openid-mcp", resource_metadata="<oprm-url>", scope="mcp:tools"Token validation uses either:
INTEROP_JWKS_URI(preferred for partner tests), orINTEROP_JWT_SECRET(HS256 local/demo only — do not use for official partner AS tests)
Local quick start
Requires Node.js 18+.
git clone https://github.com/akeyless-community/mcp-interop.git
cd mcp-interop
npm install
npm test
npm run build
cp .env.example .env
# edit .env if needed, then:
set -a && source .env && set +a
npm startSmoke checks (another terminal):
curl -sS http://127.0.0.1:8790/health
curl -sS http://127.0.0.1:8790/.well-known/oauth-protected-resource
curl -sS -D - -o /dev/null -X POST http://127.0.0.1:8790/mcp \
-H 'Content-Type: application/json' -d '{}'Expect OPRM JSON and a 401 with resource_metadata + scope on the POST.
Partner / production config
Set public HTTPS URLs (example hostname):
export INTEROP_HTTP_HOST=127.0.0.1
export INTEROP_HTTP_PORT=8790
export INTEROP_HTTP_PATH=/mcp
export INTEROP_RESOURCE=https://mcp-interop.example.com/mcp
export INTEROP_PUBLIC_BASE_URL=https://mcp-interop.example.com
export INTEROP_RESOURCE_METADATA_URL=https://mcp-interop.example.com/.well-known/oauth-protected-resource
export INTEROP_SCOPES=mcp:tools
export INTEROP_AUTHORIZATION_SERVERS=https://partner-as.example.com
export INTEROP_JWT_ISSUER=https://partner-as.example.com
export INTEROP_JWT_AUDIENCE=https://mcp-interop.example.com/mcp
export INTEROP_JWKS_URI=https://partner-as.example.com/.well-known/jwks.json
# do not set INTEROP_JWT_SECRET for partner testsFull AWS / nginx / systemd steps: docs/DEPLOY-AWS.md.
Give partners
Item | Value |
MCP Server URL |
|
OPRM URL |
|
Required scope |
|
Resource / audience |
|
Partner flow: call without token → read resource_metadata → get token from AS listed in OPRM → call /mcp with Authorization: Bearer <token> → ping.
Repo layout
src/
index.ts # process entry
http.ts # Express + Streamable HTTP + OPRM routes + auth gate
oprm.ts # RFC 9728 document + WWW-Authenticate builder
auth.ts # Bearer JWT verification (JWKS or HS256)
config.ts # INTEROP_* env loading
server.ts # MCP Server + ping tool
oprm.test.ts # unit tests
docs/
HANDOFF.md # status, deadlines, next owner checklist
DEPLOY-AWS.md # public HTTPS hosting
TRACK-A-DEMO.md # partner OAuth matrix test scriptScripts
Command | Purpose |
| Unit tests |
| Compile to |
| Run |
References
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Flicense-qualityDmaintenanceA reference implementation of an MCP server built with Express that integrates full OAuth 2.1 authorization and RFC9728 protected resource metadata. It enables secure, authenticated communication between MCP clients and servers using streamable HTTP transport and built-in authorization flows.Last updated
- Flicense-qualityCmaintenanceA proof-of-concept MCP server implementing OAuth 2.1 authorization with CIMD client registration and PKCE, demonstrating protected resource access and step-up authentication.Last updated
- Flicense-qualityDmaintenanceA simple MCP server with OAuth 2.0 authentication for testing OAuth support in mcp-cli.Last updated
- Flicense-qualityBmaintenanceA simple HTTP-based MCP server that provides demo tools (get_test_string, echo, check_maintenance), greeting prompts, and test resources, with optional OAuth 2.1 support.Last updated
Related MCP Connectors
MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.
Self-hosted federated MCP gateway: one OAuth 2.1 MCP server in front of N apps, user-level scopes.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/akeyless-community/mcp-interop'
If you have feedback or need assistance with the MCP directory API, please join our Discord server