You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
> **WARNING**: This repository is under active development. Expect frequent updates and breaking changes as we improve functionality and refine APIs. We recommend pinning to specific versions for production use. Star the repository to track our progress!
The updated architecture diagram above shows the clear separation of components that work together to provide secure, enterprise-ready MCP access:
106
+
107
+
#### Client Layer
108
+
-**User (Human Administrator)**: Manages the registry through the web UI, registers new MCP servers, and monitors system health
109
+
-**CLI Auth Tool**: Handles OAuth authentication flows for users, creating session cookies for web UI access
110
+
-**AI Agent**: Programmatic clients that discover and invoke MCP tools with proper authentication
111
+
112
+
#### MCP Gateway & Registry Infrastructure
113
+
-**Nginx Reverse Proxy**: Single entry point that routes all requests and handles SSL termination
114
+
-**Auth Server**: Validates JWT tokens and session cookies against Amazon Cognito, enforces fine-grained access control
115
+
-**Registry Web UI**: Administrative interface for managing MCP servers and viewing system status
116
+
-**Registry MCP Server**: Provides tool discovery capabilities to agents, returns filtered results based on permissions
117
+
118
+
#### External Components
119
+
-**Amazon Cognito**: Identity Provider (IdP) that handles user authentication and group management
120
+
-**MCP Server Farm**: Collection of individual MCP servers providing various tools and capabilities
121
+
122
+
> **For detailed setup instructions**, see the comprehensive guide in [`docs/cognito.md`](cognito.md) which covers both user identity and agent identity authentication modes.
75
123
76
124
At a high-level the flow works as follows:
77
125
@@ -168,7 +216,7 @@ The above implementation provides an OAuth compliant way to MCP security without
168
216
169
217
This section discusses the reference implementation using Amazon Cognito as the IdP, supporting both Machine-to-Machine (M2M) and Session Cookie authentication methods.
170
218
171
-
>This section will soon be updated with detailed steps for Cognito configuration.
219
+
>For comprehensive Cognito setup instructions, see [`docs/cognito.md`](cognito.md) which covers both user identity and agent identity authentication modes with step-by-step configuration guides.
172
220
173
221
### Key Components
174
222
@@ -208,7 +256,7 @@ Run the Agent with the following command:
208
256
```{.bash}
209
257
python agents/agent_w_auth.py
210
258
```
211
-
1. Copy `agents/.env.template` to `agents/.env.agent` and set the environment variables (`COGNITO_CLIENT_ID`, `COGNITO_CLIENT_SECRET`, `COGNITO_USER_POOL_ID`) as appropriate for your setup.
259
+
1. Copy `agents/.env.template` to `agents/.env.agent` and set the environment variables (`COGNITO_CLIENT_ID`, `COGNITO_CLIENT_SECRET`, `COGNITO_USER_POOL_ID`) as appropriate for your setup. For detailed Cognito configuration steps, see [`docs/cognito.md`](cognito.md).
212
260
1. Agent startup:
213
261
- Configured with client ID, client secret, and a set of scopes. _Each agent is an App Client in a Cognito user pool_.
214
262
- Requests scopes (e.g., MCP Registry with tool finder and basic MCP servers)
Copy `agents/.env.template` to `agents/.env.user` and set the environment variables (`COGNITO_CLIENT_ID`, `COGNITO_CLIENT_SECRET`, `COGNITO_USER_POOL_ID`, `SECRET_KEY`) as appropriate for your setup.
308
+
Copy `agents/.env.template` to `agents/.env.user` and set the environment variables (`COGNITO_CLIENT_ID`, `COGNITO_CLIENT_SECRET`, `COGNITO_USER_POOL_ID`, `SECRET_KEY`) as appropriate for your setup. For detailed Cognito configuration steps, see [`docs/cognito.md`](cognito.md).
261
309
262
310
The agent (`agents/agent_w_auth.py`) supports session cookie authentication:
0 commit comments