-
Notifications
You must be signed in to change notification settings - Fork 566
Documentation: Define 1st vs 3rd party MCP servers #613
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Documentation: Define 1st vs 3rd party MCP servers #613
Conversation
Define security best practices with 1st party vs 3rd party terminology and architecture diagram
|
||
**MCP Proxy Server** | ||
: An MCP server that connects MCP clients to third-party APIs, offering MCP features while delegating operations and acting as a single OAuth client to the third-party API server. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should also bring in other terms here that are lower in the doc, like authorization servers (for consistency)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
|
||
The following diagram illustrates the architecture of MCP implementations, highlighting the roles of MCP Proxy Servers and First-Party Hosted MCP Servers. | ||
|
||
```mermaid |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If we add diagrams for two distinct scenarios, this needs to be broken up into two distinct diagrams for clarity
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@localden I've broken the diagram up into two diagrams. Does this address your comments?
Sounds good. It does make it easier to consume! Co-authored-by: Den Delimarsky 🌺 <53200638+localden@users.noreply.github.com>
… align with localden review request. "You should also bring in other terms here that are lower in the doc, like authorization servers (for consistency)" https://github.com/modelcontextprotocol/modelcontextprotocol/pull/613/files#r2124945313
…nd consistencyz Addresses @localden comment: https://github.com/modelcontextprotocol/modelcontextprotocol/pull/613/files#r2124946228 "If we add diagrams for two distinct scenarios, this needs to be broken up into two distinct diagrams for clarity"
This pull request adds definitions for "First-Party Hosted MCP Server" and "MCP Proxy Server", along with a clarifying architecture diagram, to the security best practices documentation. Adding this terminology helps to set the basis for further discussions on best practices.
Motivation and Context
The operational context of an MCP Server significantly impacts its security considerations. An MCP Server can either directly manage access to resources owned and controlled by the same entity operating the server ("First-Party Hosted") or act as an intermediary to connect MCP clients to third-party APIs ("MCP Proxy").
Understanding this distinction is critical for applying relevant security best practices. For example:
Adding these definitions and the diagram provides essential common terminology and context, making the security considerations discussed further in the document clearer and helping implementers understand which best practices apply to their specific MCP deployment scenario.
How Has This Been Tested?
This change is purely documentation to provide clarity on architectural patterns. It does not involve code changes or require technical testing scenarios.
Breaking Changes
No
Types of changes
Checklist
Additional context
Adding this terminology helps to set the basis for further discussions on best practices.