Skip to content

fix architecture diagram - #873

Merged
jonathanhefner merged 2 commits into
modelcontextprotocol:mainfrom
kentcdodds:fix-architecture
Jul 2, 2025
Merged

fix architecture diagram#873
jonathanhefner merged 2 commits into
modelcontextprotocol:mainfrom
kentcdodds:fix-architecture

Conversation

@kentcdodds

Copy link
Copy Markdown
Contributor

Motivation and Context

I noticed the diagram showed the MCP Server representing a remote connection was under "Your Computer" which is misleading:

image

I've changed it so it's under "Internet" to be more clear about where the server code actually runs:

image

How Has This Been Tested?

N/A

Breaking Changes

N/A

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

@jonathanhefner jonathanhefner left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think both versions of the diagram are correct, but show different scenarios. The first version shows three local MCP servers, with one server connecting to a remote service. The second version shows two local MCP servers and one remote MCP server.

Perhaps we could combine the two versions by changing "Local Data Source B" to "Remote Service B"? That would show all three combinations.

@kentcdodds

Copy link
Copy Markdown
Contributor Author

I think that's a good idea. Here's the current (updated) version:

flowchart LR
    subgraph "Your Computer"
        Host["Host with MCP Client<br/>(Claude, IDEs, Tools)"]
        S1["MCP Server A"]
        S2["MCP Server B"]
        D1[("Local<br/>Data Source A")]
        Host <-->|"MCP Protocol"| S1
        Host <-->|"MCP Protocol"| S2
        S1 <--> D1
    end
    subgraph "Internet"
        S3["MCP Server C"]
        D2[("Remote<br/>Service B")]
        D3[("Remote<br/>Service C")]
        S2 <-->|"Web APIs"| D2
        S3 <-->|"Web APIs"| D3
    end
    Host <-->|"MCP Protocol"| S3
Loading

@jonathanhefner
jonathanhefner merged commit 0d63e2d into modelcontextprotocol:main Jul 2, 2025
2 checks passed
@jonathanhefner

Copy link
Copy Markdown
Member

Thank you, @kentcdodds! 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants