MCP gateway & OAuth MCP servers. LangGraph agent: memory, eval/tracking, PII guard, context trimming. Docker quick start for enterprise agents.
# Add to your Claude Code skills
git clone https://github.com/harish-gaggar/mcp-server-gatewayGuides for using ai agents skills like mcp-server-gateway.
Last scanned: 10/26/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-10-26T09:44:55.542Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}See how mcp-server-gateway compares with popular alternatives.
mcp-server-gateway is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by harish-gaggar. MCP gateway & OAuth MCP servers. LangGraph agent: memory, eval/tracking, PII guard, context trimming. Docker quick start for enterprise agents. It has 202 GitHub stars.
Yes. mcp-server-gateway passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/harish-gaggar/mcp-server-gateway" and add it to your Claude Code skills directory (see the Installation section above).
mcp-server-gateway is primarily written in Python. It is open-source under harish-gaggar on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mcp-server-gateway against similar tools.
No comments yet. Be the first to share your thoughts!
30 days in the Featured rail · terms & refunds
⚠️ Third-Party Software Notice
This skill is third-party open-source software developed and hosted independently on GitHub. SkillsLLM is an informational directory and does not control or maintain the underlying repository.
Any security checks, ratings, or warnings displayed by SkillsLLM are automated and limited in scope. They do not constitute a security certification or guarantee that the software is safe, error-free, or free from malicious code, vulnerabilities, compromised dependencies, or prompt-injection risks.
Review the source code, permissions, dependencies, and configuration before installing or running any third-party skill. Use is at your own risk. To the maximum extent permitted by applicable law, SkillsLLM is not liable for losses arising from third-party software.
Automated security scan — not a certification.
A production-grade MCP Gateway, OAuth-secured MCP servers, and a governed LangGraph agent — ready to fork and run.
Quick Start • Design Principles • Repository Layout • Documentation
This repository is a reference stack for enterprise teams building an MCP gateway and MCP servers from scratch, often inside an air-gapped or restricted network where public SaaS patterns don't apply out of the box. It ships working gateway, server, and agent code that runs locally with Docker, so you can fork and extend it for your own internal tools, identity systems, audit rules, and deployment standards.
It is not a hosted product — it's a starting blueprint: an OAuth-ready gateway, example MCP backends (Artifactory, GitHub, Google Drive), a governed LangGraph agent, PII controls, and the operational pieces (memory, measurement, context control) that production agents usually bolt on later.
An agent alone isn't a solution — it needs guardrails around it. Every request that flows through this stack passes through eight design principles, all implemented in Agents/jfrog-agent/:
| # | Principle | What it does |
|---|---|---|
| 01 | Agent framework | Task-specific nodes with skills, prompts, and an internal plugin marketplace |
| 02 | OAuth before every call | Each MCP tool call runs authenticated, per user |
| 03 | Customized MCP | MCP tools tailored to your internal security practices |
| 04 | Continuous audit | Every operation is logged at the MCP gateway |
| 05 | PII / secrets stripped | Sensitive data is scrubbed before it ever reaches the LLM (agent-safety-kit/) |
| 06 | Tracking & eval | Per-query tracking of model, tools, tokens, latency, and response quality |
| 07 | Memory management | Conversation threads and LangGraph checkpoints persist across restarts (SQLite by default, Spanner-ready) |
| 08 | Context optimizer | Trims and summarizes long MCP transcripts to cut unnecessary token spend while keeping protocol-critical fields |
See Agents/jfrog-agent/README.md for memory backends and environment variables, and context_optimizer for trimming presets.
Goal: clone the repo, start Docker, and prove MCP Gateway → MCP server routing works (Artifactory in open mode; GitHub optional with OAuth).
| Requirement | Notes |
|---|---|
| Docker Desktop or Engine + Compose v2 | Docker must be running before any docker compose command |
| Node.js 20+ | Only for the smoke-test scripts (node scripts/…); not required to build images |
| Python 3.10+ | Optional: OAuth demo and Agent Safety Kit |
| Free ports | 8090 gateway, 8091 Artifactory MCP (direct), 6379 Redis |
Important: create mcp-gateway/.env and set TOKEN_ENCRYPTION_KEY before docker compose. The setup script does that from .env.example.
git clone https://github.com/harish-gaggar/mcp-server-gateway.git
cd mcp-server-gateway/mcp-gateway
chmod +x scripts/setup-local-env.sh scripts/smoke-test.sh
./scripts/setup-local-env.sh
docker compose up -d --build
Wait until every service is healthy (first build can take several minutes):
docker compose ps
You should see five containers (mcp-gateway, mcp-gateway-redis, artifactory-mcp-server, github-mcp-server, gdrive-mcp-server) with status Up (healthy).
Gateway health check:
curl -s http://localhost:8090/health
Success: JSON contains "status":"ok".
This checks the gateway proxy to Artifactory MCP (initialize + tools/list) and direct health on all three MCP backends:
./scripts/smoke-test.sh
Success: the script ends with smoke-test: passed and prints a tool count for Artifactory (for example 7 tools).
Manual equivalent (Artifactory only):
node scripts/e2e-test.mjs
Default open mode does not expose the GitHub namespace on the gateway. To test gateway OAuth → GitHub MCP → GitHub API:
http://localhost:8090/oauth2callback.mcp-gateway/.env, set:
GITHUB_OAUTH_CLIENT_ID and GITHUB_OAUTH_CLIENT_SECRETMCP_CONFIG_FILE=./configs/ci-mcp-config.ymlOAUTH_CONFIG_FILE=./configs/ci-oauth-config.ymldocker compose up -d gatewaychmod +x scripts/test-github-mcp-oauth.sh
./scripts/test-github-mcp-oauth.sh
Success: tools/list shows GitHub tools and list_repositories returns JSON from your account. See also python3 scripts/oauth-client-demo.py --namespace github --tool get_user_info --args '{"username":"YOUR_GITHUB_LOGIN"}'.
Start after step 1 (gateway on :8090):
cd ../Agents/jfrog-agent
cp .env.example .env
docker compose up --build
UI: http://localhost:8501. Default memory is SQLite. Spanner emulator: docker compose --profile spanner up --build.
cd ../../agent-safety-kit
python3 -m venv .venv && source .venv/bin/activate
pip install -e ".[dev]" && pytest -v
| Symptom | Fix |
|---|---|
Cannot connect to the Docker daemon |
Start Docker Desktop (or Colima) and retry |
docker pull / x509: certificate signed by unknown authority |
Corporate TLS proxy: mcp-gateway/certs/README.md |
invalid IP / host-gateway on Colima |
Re-run ./scripts/setup-local-env.sh (sets HOST_DOCKER_INTERNAL) |
| Gateway exits on startup | Empty TOKEN_ENCRYPTION_KEY — run ./scripts/setup-local-env.sh before docker compose |
| Gateway exits with Google OIDC errors | Use ci-oauth-config.yml for GitHub-only tests, or set GATEWAY_NODE_EXTRA_CA_CERTS per setup script on proxied networks |
smoke-test cannot reach :8090 |
docker compose ps — wait for mcp-gateway healthy |
| Cursor / HTTPS / monitoring | doc/howto/QUICKSTART.md |
Per-user OAuth (Google, GitHub, Drive), Cursor, and monitoring: doc/howto/QUICKSTART.md and mcp-gateway/.env.example (OAUTH_CONFIG_FILE, MCP_CONFIG_FILE, provider client IDs).
mcp-server-gateway/
├── mcp-gateway/ # Gateway, Compose, Cursor wrappers
├── artifactory/ github/ gdrive/ # Example MCP servers
├── agent-safety-kit/ # PII and secrets guard (portable)
├── Agents/jfrog-agent/ # Memory, tracking/eval, context optimizer
└── doc/howto/QUICKSTART.md
From a clean clone, the path above (setup-local-env.sh → docker compose up → smoke-test.sh) is the minimum bar.
Full local CI (unit tests + stack + GitHub routing when OAuth creds are set):
chmod +x mcp-gateway/scripts/verify-stack.sh
mcp-gateway/scripts/verify-stack.sh
See CONTRIBUTING.md.
| Doc | Topic |
|---|---|
| Contributing | Full verify script and contributor workflow |
| Quickstart | OAuth, Cursor, monitoring |
| JFrog agent | Memory backends, tracking, env vars |
| Context optimizer | Trimming layers and presets |
| Agent Safety Kit | Input guard and PII scanner |
| Gateway dev | Local dev and tests |
Reference implementation; APIs may change. Do not commit .env or OAuth secrets.
Licensed under Apache-2.0. Contributions welcome — see CONTRIBUTING.md.
If this project helps you, consider giving it a ⭐ — it helps others find it too.