MCP usiing Spring AI and secured using Keycloak and OAuth2
{
"mcpServers": {
"mcp-client-server-architecture": {
"command": "<see-readme>",
"args": []
}
}
}No install config available. Check the server's README for setup instructions.
Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
MCP usiing Spring AI and secured using Keycloak and OAuth2
Is it safe?
No package registry to scan.
No authentication — any process on your machine can connect.
MIT. View license →
Is it maintained?
Last commit 44 days ago.
Will it work with my client?
Transport: stdio. Works with Claude Desktop, Cursor, Claude Code, and most MCP clients.
No automated test available for this server. Check the GitHub README for setup instructions.
No known vulnerabilities.
This server is missing a description. Tools and install config are also missing.If you've used it, help the community.
Add informationHave you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Persistent memory using a knowledge graph
Monitor browser logs directly from Cursor and other MCP compatible IDEs.
Privacy-first. MCP is the protocol for tool access. We're the virtualization layer for context.
Pre-build reality check. Scans GitHub, HN, npm, PyPI, Product Hunt — returns 0-100 signal.
MCP Security Weekly
Get CVE alerts and security updates for Mcp Client Server Architecture and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
MCP using Spring AI and secured using Keycloak and OAuth2
Download Keycloak and run command
kc start-dev
Open http://localhost:8080
(Setup Root Account if opening for the first time)
Create Realm
Manage Realmsmcp-realmCreateGoto Clients
Create Clientmcp-test and click NextDirect access grants and click Nexthttp://localhost:6274 for MCP Inspectorhttp://localhost:6274/http://localhost:6274/*http://localhost:6274/*Again, goto Clients
mcp-test in my caseRoles tabCreate Roleadmin_role and click Saveuser_roleAgain, goto Clients
Client Registration tabTrusted Hostshttp://localhost:6274Open Client Scopes
Create Client Scopemcp:toolsOptionalInclude in token scope and click SaveAgain open Client Scopes
Mappers tabAdd mapper -> By Configuration -> AudienceMCP Tools AudienceInclude Custom Audience to your server address e.g. http://localhost:9090/mcpAdd to access token and Add to token introspectionAgain open Client Scopes
Scope tabAssign Role -> Client Rolesadmin_role or the role you want to include that scope inGoto Users
Add UserEmail Verifiedadminadmin@mail.comAdminAdminadminCredentials tabSet PasswordTempperoryRole Mapping tabAssign role -> Client rolesadmin_role for the role you want to assign this useruser and assign one role to it.curl --location 'http://localhost:8080/realms/mcp-realm/protocol/openid-connect/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=mcp-test' \
--data-urlencode 'grant_type=password' \
--data-urlencode 'username=admin' \
--data-urlencode 'password=admin' \
--data-urlencode 'scope=profile email mcp:tools'
It should return a json similar like this
{
"access_token": "",
"expires_in": 300,
"refresh_expires_in": 1800,
"refresh_token": "",
"token_type": "Bearer",
"not-before-policy": 0,
"session_state": "",
"scope": ""
}
Copy the access_token.
Remember this token will expire in 5 minutes.
Download node.js first.
Run command
npx @modelcontextprotocol/inspector@0.17.2
NOTE: I am using v0.17.2 because Spring AI is using older MCP protocol at the time of this code development.
It will automatically open the browser with MCP Inspector running.
From the left pane
Streamable HTTPhttp://localhost:9090/mcpDirectAuthorizationBearer {access_token}. Paste the access_token here.ConnectTools tab