We're building a collaborative layer on top of AI agents, resources, and tools—similar to how the web was built on personal computers and servers in the 90s. This layer will enable humans and agents to coordinate and exchange knowledge at a large scale. Our immediate mission is to start with a simple, tangible system that demonstrates clear utility, using this momentum to propel us toward a truly web-scale solution.

While the technology stack may seem daunting at first, we need you to complete three simple tasks. If you would like to be a core contributor and lead the teams then please also finish the more advanced Step 4. After onboarding, please Send your email to Pradyumna (pchari@media.mit.edu) or Abhishek (abhi24@media.mit.edu) to get added to the Slack. Send your Github username so that we can add you to our Github Org https://github.com/aidecentralized/

Step 1: Get familiar with MCP and terminologies

  1. Please go through all the concepts mentioned in https://modelcontextprotocol.io/docs/concepts/architecture
  2. After reading this we expect you are familiar with and understand the difference between Client, Server, Host, Resources, Prompts, Tools, Roots, Sampling, Transport, Requests and Responses.
    1. Even if you are familiar with these terms in the context of web development, please read it again. Turns out MCP uses these terms in a slightly different context.
  3. (Optional) Make a few diagrams that can help others understand how different components in MCP integrate with each other. Your diagrams can make it into our paper and tech spec.

Step 2: Use a MCP server

  1. There are plenty of MCP servers that are available online. Set up a host (cursor, Claude desktop etc.) and then use these servers.
  2. Once you have used an interesting MCP server tell us your experience in the channel #nanda-dev-team. Bonus points for giving your host a task that requires using multiple servers.

Step 3: Write your own MCP server

  1. Great job if you are have reached here. Now the task is to build your own MCP server. Do Not use an existing server. Write your own. Think of some interesting service you use regularly and see if you can set up an MCP server that interacts with that service’s API. You can also write a MCP server that may interact with multiple other MCP servers in interesting ways.
  2. Share your experience in the channel #nanda-dev-team.

Step 4: (Optional) Modify MCP

  1. So this is the place where things get interesting! Find something in MCP’s SDK that you can modify such that you have a server that works slightly differently than a traditional MCP server. It could be simple and stupid but we do want to make sure you can pull this off. Here are some ideas but please take the liberty to be creative.
    1. Add new capabilities —
      1. Communication: Add WebSocket transport for more real-time bidirectional communication.
      2. Privacy: you can add a new function such as getPrivateInfo, where the server will return an answer but will add noise to its answer to make it private.
      3. Identity: keep a track of the “id” of the client and return a different answer if they send request multiple times.
      4. Certification exchange: This will be useful if you can implement it. Essentially, we would like both parties to jointly and cryptographically sign that they talked to each other.
  2. If you have made it this far. You are clearly going to be instrumental in building Nanda. Please create a Github repo with your modifications and share it with us. We will invite you to our Github org and add you to the core team on Slack.

Step 5: Follow Up with us

  1. Send your email to Pradyumna (pchari@media.mit.edu) or Abhishek (abhi24@media.mit.edu) to get added to the Slack.
  2. Send your Github username so that we can add you to our Github Org https://github.com/aidecentralized/