foro-demo-mcp
Click on "Deploy 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., "@foro-demo-mcproll two six-sided dice and tell me the results"
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.
foro-demo-mcp
A tiny demo MCP server in TypeScript with no build step — five tools, streamable HTTP, made to deploy on foro.sh in about a minute.
Tools
Tool | What it does |
| Greet someone — proves the round trip works |
| Roll |
| Store a value under a key (in-memory) |
| Read a value back — state persists between calls |
| Show the caller's verified identity ( |
| Pattern A demo: call your backend as the verified user |
| Runtime info: port, node version, uptime (never secrets) |
Related MCP server: Enterprise MCP Gateway and Tool Registry
Auth: two sides
[User + AI client] ──① inbound: who calls?──▶ foro gate ──▶ your tool code ──② outbound──▶ your backend
token or OAuth JWT injects X-Foro-* reads identity service key + X-User-Id① Inbound (foro handles it): Settings → Server access →
token(one shared bearer token, no per-user identity) oroauth(each user signs in; the gate verifies their JWT and injectsX-Foro-Subject/X-Foro-Org/X-Foro-Scopes, stripping anything the client tried to spoof).whoamishows what arrives.② Outbound (you write it): set
BACKEND_URL(plain) andBACKEND_API_KEY(secret) in foro → Secrets, redeploy.get_my_ordersthen calls your backend with the service key plusX-User-Idfrom the gate, so your backend knows which user the call is on behalf of (Pattern A).
Never ask users to paste their backend API key as a tool argument — it would end up in LLM context and transcripts. Identity arrives as a gate-verified header.
Run locally
npm install
npm start # → http://0.0.0.0:8000/mcp (PORT env var overrides)No tsc, no bundler: Node ≥ 22.18 runs the TypeScript directly via native type stripping.
Deploy on foro.sh
Sign in at foro.sh with GitHub
New project → I have a repo → pick this repo, branch
mainClick Deploy — foro reads
package.json(main,engines), installs with npm, health-checks, and goes liveCopy your
https://<slug>.foro.shURL and project bearer token from the Overview tab
foro injects PORT, which this server reads automatically. State in remember/recall lives in the container's memory until it restarts.
Connect an agent
Claude Desktop / Claude Code (Settings → Developers → Edit Config):
{
"mcpServers": {
"foro-demo": {
"type": "http",
"url": "https://<slug>.foro.sh/mcp",
"headers": { "Authorization": "Bearer <your-foro-token>" }
}
}
}OpenCode (opencode.json):
{
"mcp": {
"servers": {
"foro-demo": {
"type": "remote",
"url": "https://<slug>.foro.sh/mcp",
"oauth": false,
"headers": { "Authorization": "Bearer {env:FORO_DEMO_TOKEN}" }
}
}
}
}Any client that speaks MCP over streamable HTTP works — Cursor, VS Code, Windsurf, Codex.
Notes
Stateless HTTP mode: a fresh server + transport per request, no session tracking
The bearer-token check is performed by foro's gate in front of this server
server_infodeliberately reports only non-sensitive values
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
- StytchOAuthdev.stytch.mcp
The Stytch MCP server is a reference implementation that demonstrates remote MCP server authentication and authorization using Stytch Connected Apps. It provides OAuth 2.1-compliant authorization (including PKCE), Dynamic Client Registration, and validates Stytch-issued access tokens to enable AI agents to securely interact with external services through permissioned access, supporting scopes like openid, email, profile, and manage:project_data.
An MCP server that provides an API to LLMs to manage their JumpCloud resources.
MCP server for Argo RPG Platform — connects AI assistants to campaign data via OAuth2
MCP server for verifying EUDI/Talao wallet data via OIDC4VP (pull) for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP Server for AI agent identity and authorization. Create, verify, and manage agent identities with trust scores and scoped authorization tokens.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to discover and execute tools via a secure MCP server with JWT authentication, RBAC, rate limiting, and audit logging.1MIT

mock-llm-mcpofficial
AlicenseNot gradedqualityDmaintenanceMCP server to mock OpenAI, Anthropic, and Google Gemini responses for testing AI integrations without real API keys or token spend.MIT- FlicenseNot gradedqualityBmaintenanceA 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.-