<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Ricardo Rodrigues</title>
    <description>The latest articles on Forem by Ricardo Rodrigues (@codemalasartes).</description>
    <link>https://forem.com/codemalasartes</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F900488%2Ff2206bfb-c9eb-4f28-be82-666e0114d62e.jpeg</url>
      <title>Forem: Ricardo Rodrigues</title>
      <link>https://forem.com/codemalasartes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/codemalasartes"/>
    <language>en</language>
    <item>
      <title># How I Built the MCP Composer — And Why It Was the Most Requested Feature at MCPNest</title>
      <dc:creator>Ricardo Rodrigues</dc:creator>
      <pubDate>Sun, 19 Apr 2026 00:20:51 +0000</pubDate>
      <link>https://forem.com/codemalasartes/-how-i-built-the-mcp-composer-and-why-it-was-the-most-requested-feature-at-mcpnest-570l</link>
      <guid>https://forem.com/codemalasartes/-how-i-built-the-mcp-composer-and-why-it-was-the-most-requested-feature-at-mcpnest-570l</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1ktj5tm4foftqnha7bj.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fb1ktj5tm4foftqnha7bj.png" alt=" " width="800" height="533"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I launched MCPNest on April 4th, 2026. Within 48 hours, the most common question in my DMs wasn't "how do I find servers" or "why isn't my server listed."&lt;/p&gt;

&lt;p&gt;It was: &lt;strong&gt;"How do I install multiple servers at once?"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That question became the MCP Composer.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem No One Was Talking About
&lt;/h2&gt;

&lt;p&gt;When people discover MCP servers, they don't install one. They install five. A developer setting up Claude for serious work typically wants:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A GitHub server (read repos, create issues, review PRs)&lt;/li&gt;
&lt;li&gt;A database server (query Postgres or SQLite)&lt;/li&gt;
&lt;li&gt;A file system server (read and write local files)&lt;/li&gt;
&lt;li&gt;A documentation server (pull live docs from any library)&lt;/li&gt;
&lt;li&gt;A search server (web or internal search)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That's five separate servers. Five separate JSON blocks. Five separate edits to &lt;code&gt;claude_desktop_config.json&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The official config format looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"github"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@modelcontextprotocol/server-github"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="nl"&gt;"GITHUB_PERSONAL_ACCESS_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"postgres"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@modelcontextprotocol/server-postgres"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"postgresql://localhost/mydb"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"filesystem"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"@modelcontextprotocol/server-filesystem"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/Users/me/projects"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Writing this by hand is error-prone. A missing comma breaks everything. A wrong argument crashes Claude on startup. And when something goes wrong, the error messages are cryptic.&lt;/p&gt;

&lt;p&gt;I watched people spend 30-45 minutes on something that should take 30 seconds. Platform engineers who manage CI/CD pipelines every day were struggling with a JSON config file.&lt;/p&gt;

&lt;p&gt;That was the moment I decided to build the Composer.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where the Idea Came From
&lt;/h2&gt;

&lt;p&gt;I'm a Platform Engineer at a bank. During the day, I manage infrastructure tooling — the kind of work where you spend a lot of time thinking about developer experience. Why does it take a new engineer three days to set up their local environment? Why are there seventeen steps in the onboarding doc when there should be one?&lt;/p&gt;

&lt;p&gt;When I started building MCPNest, I knew the discovery problem was obvious — everyone could see there was no central registry for MCP servers. But the &lt;em&gt;installation problem&lt;/em&gt; was the hidden one.&lt;/p&gt;

&lt;p&gt;The gap I saw was this: even if you found the right servers on MCPNest, you still had to manually construct the JSON config, copy it into the right file on your machine, restart Claude, and hope nothing broke.&lt;/p&gt;

&lt;p&gt;That's too many steps. Too much friction between "I want this tool" and "this tool is running."&lt;/p&gt;

&lt;p&gt;The Composer was my answer to that friction.&lt;/p&gt;




&lt;h2&gt;
  
  
  What the MCP Composer Does
&lt;/h2&gt;

&lt;p&gt;The MCP Composer (available at mcpnest.io/compose) lets you build a complete multi-server MCP configuration in under 30 seconds — visually, without touching JSON.&lt;/p&gt;

&lt;p&gt;Here's how it works:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Search and add servers&lt;/strong&gt;&lt;br&gt;
You search the MCPNest catalogue of 7,561+ servers and add any combination to your config. Each server is shown with its compatibility, required arguments, and any environment variables it needs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Configure each server&lt;/strong&gt;&lt;br&gt;
For servers that need arguments (like a database URL, a file path, or an API key), the Composer shows you exactly what's needed. You fill in the values once. No looking up documentation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Choose your client&lt;/strong&gt;&lt;br&gt;
Select your target: Claude Desktop, Cursor, Windsurf, or VS Code. The Composer generates the exact config format for each client — they're slightly different, and getting the format wrong means nothing works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Copy or download&lt;/strong&gt;&lt;br&gt;
The complete config JSON is ready to paste. Or you can use Bundle Sharing to generate a link that anyone can use to replicate your exact setup in one click.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Six Problems the Composer Solves
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;1. JSON syntax errors&lt;/strong&gt;&lt;br&gt;
The single biggest cause of "why isn't my MCP server working" is a malformed JSON config. A trailing comma, a missing bracket, wrong quote type — any of these breaks the entire file. The Composer generates syntactically valid JSON every time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Wrong config format per client&lt;/strong&gt;&lt;br&gt;
Claude Desktop, Cursor, Windsurf, and VS Code each have slightly different config formats. Claude Desktop uses &lt;code&gt;claude_desktop_config.json&lt;/code&gt; in one location on Mac, another on Windows. Cursor has its own format. The Composer knows all of them and generates the right one.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Missing required arguments&lt;/strong&gt;&lt;br&gt;
Many MCP servers require arguments — a database connection string, a file path, an API token. When you install manually, you often miss these and the server fails silently. The Composer shows every required argument upfront.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Multi-server conflicts&lt;/strong&gt;&lt;br&gt;
When you have ten servers in your config, one bad entry can prevent all of them from loading. The Composer validates the full config before you copy it, catching conflicts before they cause problems.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Knowledge barrier&lt;/strong&gt;&lt;br&gt;
Not everyone knows what &lt;code&gt;npx -y&lt;/code&gt; does or why some servers use &lt;code&gt;command: "node"&lt;/code&gt; and others use &lt;code&gt;command: "npx"&lt;/code&gt;. The Composer abstracts this — you see server names, not command syntax.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Sharing and replication&lt;/strong&gt;&lt;br&gt;
If you've built a good MCP stack, sharing it with your team means sending a JSON blob in Slack and hoping they paste it correctly. With Bundle Sharing, you share one link. They click it, they get your full config.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to Use the MCP Composer
&lt;/h2&gt;

&lt;p&gt;Go to &lt;strong&gt;mcpnest.io/compose&lt;/strong&gt;. Here's a real example — building a developer stack from scratch:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding GitHub:&lt;/strong&gt;&lt;br&gt;
Search for "github", select &lt;code&gt;github-mcp-server&lt;/code&gt; (official, 28,700+ stars). The Composer shows you need one environment variable: &lt;code&gt;GITHUB_PERSONAL_ACCESS_TOKEN&lt;/code&gt;. Enter your token. Done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Postgres:&lt;/strong&gt;&lt;br&gt;
Search for "postgres", select the official server. The Composer asks for a connection string: &lt;code&gt;postgresql://username:password@localhost:5432/mydb&lt;/code&gt;. Enter it. Done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Adding Context7:&lt;/strong&gt;&lt;br&gt;
Search for "context7", add it. No configuration needed — it works immediately with no arguments. The Composer handles the command automatically.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Generating the config:&lt;/strong&gt;&lt;br&gt;
Switch to "Claude Desktop" tab. Click "Copy config". Paste into &lt;code&gt;claude_desktop_config.json&lt;/code&gt;. Restart Claude.&lt;/p&gt;

&lt;p&gt;Total time: under two minutes for a three-server setup that would have taken 20-30 minutes manually.&lt;/p&gt;




&lt;h2&gt;
  
  
  Bundle Sharing: The Feature Within the Feature
&lt;/h2&gt;

&lt;p&gt;After I shipped the Composer, something unexpected happened. People started using it not just for themselves — but to share their stacks with others.&lt;/p&gt;

&lt;p&gt;A developer would compose their perfect setup, generate a bundle link, and post it on Reddit or Twitter: "Here's my MCP stack for backend development." Others would click the link, get the full config ready to paste, and be up and running in seconds.&lt;/p&gt;

&lt;p&gt;This became Bundle Sharing — a dedicated feature built on top of the Composer. You can browse shared bundles at mcpnest.io/bundle-sharing, or create your own with the "Share bundle" button in the Composer.&lt;/p&gt;

&lt;p&gt;For teams, this is particularly powerful. A platform engineer sets up the approved MCP stack for their company, generates a bundle link, and shares it in the engineering onboarding doc. Every new hire gets the same setup, correctly configured, in one click.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Next for the Composer
&lt;/h2&gt;

&lt;p&gt;The Composer currently handles local MCP servers — the ones you run with &lt;code&gt;npx&lt;/code&gt; or &lt;code&gt;node&lt;/code&gt; on your machine.&lt;/p&gt;

&lt;p&gt;The next evolution is the &lt;strong&gt;Gateway&lt;/strong&gt;, launching June 16, 2026. Instead of each developer running servers locally with their own config, the Gateway gives every workspace a single authenticated URL. One URL replaces the entire config. One click deploys approved servers to your whole team.&lt;/p&gt;

&lt;p&gt;The Composer was the first step in making MCP servers accessible. The Gateway is the step that makes them governable.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try It
&lt;/h2&gt;

&lt;p&gt;The MCP Composer is free, requires no account, and works with Claude Desktop, Cursor, Windsurf, and VS Code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;mcpnest.io/compose&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you have a stack you love, generate a bundle and share it. I'd love to see what people are building.&lt;/p&gt;

&lt;p&gt;And if something doesn't work — if a server config is wrong, if a client format is off, if the Composer is missing a server you need — email me: &lt;a href="mailto:malasartes@mcpnest.io"&gt;malasartes@mcpnest.io&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Ricardo Rodrigues is the founder of MCPNest and a Platform Engineer at BCP in Porto, Portugal. MCPNest is the marketplace and governance layer for MCP servers — 7,561+ servers indexed, with Enterprise workspaces and a Gateway launching June 2026.&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Tags:&lt;/strong&gt; MCP, Model Context Protocol, Claude Desktop, Cursor, AI Tools, Developer Tools, MCP Composer&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claude</category>
      <category>mcp</category>
      <category>showdev</category>
    </item>
    <item>
      <title>MCPNest Enterprise: The Private MCP Registry Your Team Has Been Missing</title>
      <dc:creator>Ricardo Rodrigues</dc:creator>
      <pubDate>Thu, 16 Apr 2026 16:55:42 +0000</pubDate>
      <link>https://forem.com/codemalasartes/mcpnest-enterprise-the-private-mcp-registry-your-team-has-been-missing-3oc3</link>
      <guid>https://forem.com/codemalasartes/mcpnest-enterprise-the-private-mcp-registry-your-team-has-been-missing-3oc3</guid>
      <description>&lt;p&gt;If you're using Claude, Cursor, or Windsurf with MCP servers, you've probably hit this wall: you find a great server, configure it locally, and then spend the next hour explaining to your colleagues how to do the same. JSON configs in Slack messages. "Did you add the right environment variable?" Version mismatches between machines. Someone installs the wrong server. IT has no idea what AI tools are running on company infrastructure.&lt;/p&gt;

&lt;p&gt;MCPNest Enterprise solves this.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is MCPNest Enterprise?
&lt;/h2&gt;

&lt;p&gt;MCPNest (mcpnest.io) is the marketplace for MCP servers — 7,561+ indexed, one-click install for Claude Desktop, Cursor, and Windsurf. Enterprise is the layer built on top of it for teams that need to manage MCP servers at scale, with governance, auditability, and control.&lt;/p&gt;

&lt;p&gt;Think of it as the npm private registry for your team's MCP servers. Or Docker Hub with access control. The same idea: your team gets a curated, approved set of tools — without anyone editing JSON files manually.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Core: Private Workspace
&lt;/h2&gt;

&lt;p&gt;Every Enterprise workspace is a private environment that only your team can access. You create it, invite your colleagues, and from that point forward you have a single source of truth for which MCP servers your team uses.&lt;/p&gt;

&lt;p&gt;No more "which version are you on?" No more "where's the config file for that?"&lt;/p&gt;

&lt;h3&gt;
  
  
  What lives inside a workspace:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Private server registry&lt;/strong&gt; — add any MCP server (remote endpoint or local config) to your workspace. It stays internal and is never exposed publicly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;One registry URL&lt;/strong&gt; — a single authenticated endpoint that your team points their Claude Desktop, Cursor, or Windsurf config to. One change on the server side, everyone gets it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Version control per server&lt;/strong&gt; — publish versions (v1.0.0, v1.1.0), track what changed, roll back if something breaks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Audit log&lt;/strong&gt; — every action is logged: who added a server, who published a version, who invited a member, when.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Health monitoring&lt;/strong&gt; — the workspace runs health checks on every remote server. You know immediately when something is degraded or down, before your team starts filing bug reports.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Team Management
&lt;/h2&gt;

&lt;p&gt;Enterprise workspaces have three roles: &lt;strong&gt;Owner&lt;/strong&gt;, &lt;strong&gt;Admin&lt;/strong&gt;, and &lt;strong&gt;Member&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;The owner has full control. Admins can add servers, publish versions, and invite members. Members can install and use what's been approved for them — nothing more.&lt;/p&gt;

&lt;p&gt;This matters for enterprise adoption. The platform engineer sets up the workspace and curates the approved servers. Developers self-serve within those guardrails. IT can see the audit log. Everyone wins.&lt;/p&gt;

&lt;p&gt;Inviting a colleague is one email address. They get access immediately if they have an MCPNest account. Remove them just as easily — access is revoked instantly.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Registry Endpoint
&lt;/h2&gt;

&lt;p&gt;This is the most important technical feature.&lt;/p&gt;

&lt;p&gt;Every workspace gets a unique authenticated URL:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;https://mcpnest.io/api/registry/YOUR_WORKSPACE_TOKEN
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your team adds this to their Claude Desktop config once:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"mcpServers"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"mcpnest-registry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"mcpnest-registry-client"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"--url"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://mcpnest.io/api/registry/YOUR_TOKEN"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;From that point forward, every server you add to the workspace is automatically available to everyone on the team. No individual config changes. No manual distribution. The registry is the single source of truth, and it updates centrally.&lt;/p&gt;




&lt;h2&gt;
  
  
  Version Control
&lt;/h2&gt;

&lt;p&gt;MCP servers evolve. Endpoints change. Configs need updating. Without version control, you're back to the Slack message problem — "hey everyone, update your config to use the new endpoint."&lt;/p&gt;

&lt;p&gt;With MCPNest Enterprise, you publish a new version to the workspace. Set the version number, write a changelog entry, update the install config if needed. Everyone on the team gets the update automatically through the registry endpoint.&lt;/p&gt;

&lt;p&gt;If the new version breaks something, you can see exactly what changed and when. The audit log has the full history.&lt;/p&gt;




&lt;h2&gt;
  
  
  Health Monitoring
&lt;/h2&gt;

&lt;p&gt;Every workspace has a live health dashboard showing which servers are &lt;strong&gt;Healthy&lt;/strong&gt;, &lt;strong&gt;Degraded&lt;/strong&gt;, or &lt;strong&gt;Down&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Health checks run automatically every 60 minutes against every remote endpoint in your workspace. If a server goes degraded — timeout, authentication failure, unexpected response — you see it in the dashboard immediately. Before your developers start wondering why Claude isn't responding to tool calls.&lt;/p&gt;

&lt;p&gt;You can also trigger a manual health check at any time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Audit Log
&lt;/h2&gt;

&lt;p&gt;Every action in a workspace is logged with the user, the action type, the timestamp, and any relevant details.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Workspace created&lt;/li&gt;
&lt;li&gt;Server added&lt;/li&gt;
&lt;li&gt;Version published&lt;/li&gt;
&lt;li&gt;Member invited&lt;/li&gt;
&lt;li&gt;Member removed&lt;/li&gt;
&lt;li&gt;Health check run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This isn't just for debugging. It's for compliance. Enterprise teams need to know what AI tools are running on their infrastructure and who approved them. The audit log gives you that.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Customisable Dashboard
&lt;/h2&gt;

&lt;p&gt;The workspace overview is designed to show what matters to your team, not a generic set of metrics.&lt;/p&gt;

&lt;p&gt;You get five KPI cards — Servers, Members, Installs, Events, Remote — and a grid of widgets you can toggle on and off: the server list, health overview, activity feed, registry endpoint, team members, and quick actions to MCPNest tools.&lt;/p&gt;

&lt;p&gt;Your workspace, your layout. Preferences are saved per workspace.&lt;/p&gt;

&lt;p&gt;The dashboard also supports light and dark mode — persisted in your browser across all workspace pages.&lt;/p&gt;




&lt;h2&gt;
  
  
  What's Coming
&lt;/h2&gt;

&lt;p&gt;Enterprise is the foundation. What's being built on top of it:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP Gateway&lt;/strong&gt; (launching June 2026) — one URL per workspace, with routing, authentication, and logging for every tool call. The difference between the current registry and the Gateway is observability: with the Gateway, you see every tool invocation, every parameter, every response. Full auditability at the protocol level.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Invite emails via Resend&lt;/strong&gt; — when you invite a team member, they receive a proper onboarding email.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;GitHub sync&lt;/strong&gt; — link a server to a GitHub repository and the workspace automatically picks up new releases.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why This Matters
&lt;/h2&gt;

&lt;p&gt;MCP is the standard that's emerging for how AI agents connect to tools. Every serious AI-powered development team will eventually need to manage a set of MCP servers — which ones are approved, which versions are running, who has access to what.&lt;/p&gt;

&lt;p&gt;Right now, most teams are doing this manually. JSON configs, documentation wikis, Slack messages. That doesn't scale past five people.&lt;/p&gt;

&lt;p&gt;MCPNest Enterprise is the infrastructure layer that makes MCP adoption manageable at team scale. The same way npm private registries made Node.js dependency management manageable for enterprise teams.&lt;/p&gt;




&lt;h2&gt;
  
  
  Get Started
&lt;/h2&gt;

&lt;p&gt;MCPNest Enterprise is available at mcpnest.io&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggkzowrvix0tmpy4a332.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fggkzowrvix0tmpy4a332.png" alt=" "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Create a workspace, add your first server, and share the registry URL with your team. &lt;/p&gt;

&lt;p&gt;If you're building a team AI tooling stack and want to talk, reach out at &lt;a href="mailto:malasartes@mcpnest.io"&gt;malasartes@mcpnest.io&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Ricardo Rodrigues is the founder of MCPNest and a Platform Engineer at BCP. MCPNest is built in Porto, Portugal.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>productivity</category>
      <category>tooling</category>
    </item>
    <item>
      <title>MCPNest - I built an MCP server marketplace in 7 days.</title>
      <dc:creator>Ricardo Rodrigues</dc:creator>
      <pubDate>Tue, 14 Apr 2026 22:46:59 +0000</pubDate>
      <link>https://forem.com/codemalasartes/mcpnest-i-built-an-mcp-server-marketplace-in-7-days-4g35</link>
      <guid>https://forem.com/codemalasartes/mcpnest-i-built-an-mcp-server-marketplace-in-7-days-4g35</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0iv1u2flim94pnok31ih.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F0iv1u2flim94pnok31ih.png" alt=" " width="800" height="400"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm a Platform Engineer at a bank in Porto, Portugal.&lt;/p&gt;

&lt;p&gt;On 3 of April I had an idea. Today it's a live product with 7,554 servers, partnerships with Railpush, Grafana and other coming. &lt;/p&gt;

&lt;p&gt;Here's the full story.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;The MCP (Model Context Protocol) ecosystem was exploding. Every week a new server appeared on GitHub, got 500 stars, and disappeared into the void.&lt;/p&gt;

&lt;p&gt;Developers wanting to extend Claude, Cursor, or Windsurf had to dig through GitHub repos, Reddit posts, and scattered READMEs.&lt;/p&gt;

&lt;p&gt;There was no discovery layer. No App Store for MCP.&lt;/p&gt;

&lt;h2&gt;
  
  
  The plan
&lt;/h2&gt;

&lt;p&gt;Build the npm registry for MCP servers. Fast.&lt;/p&gt;

&lt;p&gt;The criteria: buildable in days, real market timing.&lt;br&gt;
MCPNest won.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Starting from zero, in two weeks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Discovery&lt;/strong&gt;&lt;br&gt;
7,554+ MCP servers indexed from the official Anthropic registry and GitHub. Search by name, category, client compatibility. Quality Score A–F. Security badges — Verified, No Auth, Local Process, Remote.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Install&lt;/strong&gt;&lt;br&gt;
One-click install configs for Claude Desktop, Cursor, Windsurf, and VS Code. Copy one JSON snippet and you're done.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bundle Sharing&lt;/strong&gt;&lt;br&gt;
Create a named bundle of multiple MCP servers and share it as a single link. Someone clicks it, gets the combined config for all servers at once. Useful for teams that want to share a standard MCP setup without going through the full Enterprise tier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP Composer&lt;/strong&gt;&lt;br&gt;
Build your full multi-server config visually. Select servers, fill in your keys, copy once.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MCP Generator&lt;/strong&gt; ← the one I'm most proud of&lt;br&gt;
Describe what you want in plain english. Claude writes the full TypeScript MCP server — tool schema, error handling, stdio transport — plus the install config. From idea to published server in under a minute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Collections&lt;/strong&gt;&lt;br&gt;
Curated starter packs. Install a full stack in one config.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Enterprise Workspace&lt;/strong&gt;&lt;br&gt;
This is the one I'm betting on long term.&lt;/p&gt;

&lt;p&gt;A private MCP registry for teams. The idea came from a conversation with an AI leader at a large enterprise who said: "IT and security won't let us install third-party MCP. We just need the recipe to build it ourselves."&lt;br&gt;
What's live:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Private registry with a single URL — your whole team points their config to it&lt;/li&gt;
&lt;li&gt;Version control — publish v1.1 and every team member gets the updated config immediately, no manual updates&lt;/li&gt;
&lt;li&gt;GitHub sync — link a repo and pull the latest version with one click&lt;/li&gt;
&lt;li&gt;Health monitoring — hourly cron checks all remote server endpoints, updates UP/DOWN status automatically&lt;/li&gt;
&lt;li&gt;Audit log — every action tracked: who added what, when, from where&lt;/li&gt;
&lt;li&gt;Team management — owner, admin, and member roles&lt;/li&gt;
&lt;li&gt;Invite by email — add team members who already have an MCPNest account&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The GTM strategy is bottom-up, like Slack. Individual enterprise employees start using it via open source. They build their own configs, use the Composer, share bundles with colleagues. When IT notices, the Enterprise tier gives them the governance layer they need — SSO, audit logs, private registry, version control.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Credential Manager&lt;/strong&gt;&lt;br&gt;
Store API keys per server. The biggest friction point in MCP tooling — solved.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publisher Analytics&lt;/strong&gt;&lt;br&gt;
30-day install charts, client breakdown, weekly performance. Know what's working.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reviews + Ratings&lt;/strong&gt;&lt;br&gt;
The first MCP marketplace with community reviews.&lt;/p&gt;

&lt;h2&gt;
  
  
  The stack
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Next.js 16 with Turbopack&lt;/li&gt;
&lt;li&gt;Supabase (database + auth)&lt;/li&gt;
&lt;li&gt;Vercel (hosting)&lt;/li&gt;
&lt;li&gt;Stripe (payments)&lt;/li&gt;
&lt;li&gt;FastAPI crawler on Railway&lt;/li&gt;
&lt;li&gt;Built almost entirely in Claude sessions&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The honest part
&lt;/h2&gt;

&lt;p&gt;Features are the easy part. Distribution is hard.&lt;/p&gt;

&lt;p&gt;650 visitors a week is not enough. The product is good. The challenge now is getting people to find it.&lt;/p&gt;

&lt;p&gt;If you're building with MCP — &lt;a href="https://mcpnest.io" rel="noopener noreferrer"&gt;mcpnest.io&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you publish MCP servers — &lt;a href="https://mcpnest.io/publish" rel="noopener noreferrer"&gt;list yours&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Solo founder. Platform engineer by day. Building as fast as I can.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>mcp</category>
      <category>showdev</category>
      <category>sideprojects</category>
    </item>
  </channel>
</rss>
