Provides the foundation for the MCP Gateway, transforming FastAPI endpoints into MCP tools that allow LLMs to interact with corporate APIs in a controlled manner.
Supports project version control and distribution through Git repository cloning.
Hosts the FastAPI-MCP framework that this gateway is based on, allowing contribution and access to the core functionality.
Serves as the runtime environment for the MCP Gateway, with version 3.8+ required for operation.
MCP Gateway – API & Self-Service Portal
This repository contains the MCP Gateway, an enterprise solution to expose, manage and consume tools (internal APIs) in a secure, scalable and auditable way, with RBAC authentication and self-service portal.
Summary
- Overview
- Folder Structure
- How to Spin (Development)
- Features
- RBAC Structure Example
- Security
- API Documentation
- System Requirements
- Complete Documentation
- Good Practices and Observations
Overview
The MCP Gateway consists of:
- Backend: FastAPI + RBAC + JWT + JSON persistence (NoSQL ready)
- Frontend: React (Vite) running integrated with the backend (build in
/frontend/dist
served as static)
Folder Structure
How to Spin (Development)
1. Backend (FastAPI)
2. Frontend (React)
Go to: http://localhost:5173 (dev) or http://localhost:8000 (prod)
3. Frontend Build for Production
The files will be generated in frontend/dist
. FastAPI can serve these files automatically.
Features
- JWT Login (user, group admin, global admin)
- Group, User, and Tool Management (CRUD)
- Dynamic creation of tools by group admin
- Safe consumption of tools via portal
- Healthcheck, registration, automatic documentation (Swagger)
- Ready for NoSQL database integration and SSO
RBAC Structure Example
See data/rbac.json
for example users, groups, and permissions.
Security
- JWT, RBAC, share registry
- Ready for CORS, HTTPS, rate limiting, etc.
API Documentation
Go to /docs
for Swagger or /redoc
for Redoc.
System Requirements
See the docs/REQUISITOS.md
file for detailed functional, non-functional, and business requirements.
Complete Documentation
Detailed project documentation is centralized in the docs/
folder:
docs/REQUISITOS.md
: System requirementsdocs/API.md
: Endpoints and API usage examplesdocs/ARQUITETURA.md
: Technical architecturedocs/SEGURANCA.md
: Security and best practicesdocs/GOVERNANCA.md
: Governance and rolesdocs/OPERACIONAL.md
: Operation, monitoring and troubleshootingdocs/CHANGELOG.md
: Version history
Good Practices and Observations
- Keep dependencies up to date.
- Use virtual environments for Python.
- Always build the frontend before deploying to production.
- See the documentation for the other modules in
docs/
. - Tip: Use issues and pull requests to propose changes and maintain a history of decisions.
This document should be reviewed and updated periodically to reflect changes in the design.
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
A secure bridge that enables Large Language Models (LLMs) to interact with enterprise APIs and services in a controlled, contextualized way.
Related MCP Servers
- -securityFlicense-qualityA TypeScript-based server that provides a memory system for Large Language Models (LLMs), allowing users to interact with multiple LLM providers while maintaining conversation history and offering tools for managing providers and model configurations.Last updated -25JavaScript
- -securityFlicense-qualityFacilitates enhanced interaction with large language models (LLMs) by providing intelligent context management, tool integration, and multi-provider AI model coordination for efficient AI-driven workflows.Last updated -Python
- -securityAlicense-qualityA server that enables Large Language Models to discover and interact with REST APIs defined by OpenAPI specifications through the Model Context Protocol.Last updated -848129TypeScriptMIT License
- -securityAlicense-qualityBridges Large Language Models with Language Server Protocol interfaces, allowing LLMs to access LSP's hover information, completions, diagnostics, and code actions for improved code suggestions.Last updated -60TypeScriptMIT License