<?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>DEV Community: Petr Kushnir</title>
    <description>The latest articles on DEV Community by Petr Kushnir (@tantuc).</description>
    <link>https://dev.to/tantuc</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4058921%2Fb95c9d05-7486-4b76-bb01-631ecbe3fdd0.jpg</url>
      <title>DEV Community: Petr Kushnir</title>
      <link>https://dev.to/tantuc</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/tantuc"/>
    <language>en</language>
    <item>
      <title>How to get an MCP server into the Claude directory: 20 days, €52/month, and everything the docs don't tell you</title>
      <dc:creator>Petr Kushnir</dc:creator>
      <pubDate>Tue, 04 Aug 2026 12:54:32 +0000</pubDate>
      <link>https://dev.to/tantuc/how-to-get-an-mcp-server-into-the-claude-directory-20-days-eu52month-and-everything-the-docs-1nj2</link>
      <guid>https://dev.to/tantuc/how-to-get-an-mcp-server-into-the-claude-directory-20-days-eu52month-and-everything-the-docs-1nj2</guid>
      <description>&lt;p&gt;I built a travel-logistics MCP connector — 6 tools (car rentals, airport transfers, tours, travel eSIM, luggage storage, flight compensation), 3 of them rendering MCP Apps widgets. Remote Streamable HTTP, no auth, solo project.&lt;/p&gt;

&lt;p&gt;Four days from an empty repo to a submitted server, then twenty days of waiting: submitted to the Anthropic connector directory on July 10, approved on July 30.&lt;/p&gt;

&lt;p&gt;When I was preparing the submission I found almost nothing written about the process. So here are the notes I wish I'd had — the actual gates, the undocumented caching rules that will burn you if you learn them late, and what the directory looks like from the publisher's side after you're in.&lt;/p&gt;

&lt;p&gt;This is not a "what is MCP" article. It assumes you have a working server and are wondering whether to submit it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The short version, if that's all you came for:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The submission portal needs a &lt;strong&gt;Team or Enterprise&lt;/strong&gt; org. The minimum is &lt;strong&gt;2 seats, not 5&lt;/strong&gt; — around €52/month.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No legal entity required.&lt;/strong&gt; I submitted as an individual author.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;20 days&lt;/strong&gt; from submission to approval, zero pings from me. There is no published SLA.&lt;/li&gt;
&lt;li&gt;Approval puts you in the &lt;strong&gt;Community&lt;/strong&gt; tier by default, and there is no published path from there to Verified.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Your tool set freezes at connect time&lt;/strong&gt; for everyone already connected. Descriptions stay editable forever; the tool list does not.&lt;/li&gt;
&lt;li&gt;Connected from the directory, your tools arrive with &lt;strong&gt;"always allow"&lt;/strong&gt; by default. Connected by URL, they don't. Same server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The rest of this is how I learned each of those, and what it cost.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one gate that costs money
&lt;/h2&gt;

&lt;p&gt;The submission portal lives in the org admin settings, and it is only available to &lt;strong&gt;Team or Enterprise&lt;/strong&gt; organizations. There is no individual path.&lt;/p&gt;

&lt;p&gt;For a solo developer that means creating an organization and paying for a Team plan. The often-quoted minimum is 5 seats, which is what scared me off for weeks. It's wrong: &lt;strong&gt;the actual minimum is 2 seats — about €52/month including VAT.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's the honest price of entry. Everything else in the process is free.&lt;/p&gt;

&lt;p&gt;The question I could not answer before paying, and still can't: &lt;strong&gt;is that an entry fee or rent?&lt;/strong&gt; Does an approved listing survive if you downgrade the org afterwards? I put that to the review team in writing on the day I submitted. A month later, no answer. Until someone demonstrates otherwise, budget it as a subscription for as long as you want the listing up — that's the assumption I'm running on.&lt;/p&gt;

&lt;p&gt;(€52 is with my local VAT. Yours will differ; compare the pre-tax number.)&lt;/p&gt;

&lt;p&gt;You do not need a legal entity. I submitted as an individual author, and the ownership question in the form is about your &lt;em&gt;API&lt;/em&gt; relationships, not your corporate structure.&lt;/p&gt;

&lt;h2&gt;
  
  
  Timeline
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;July 10&lt;/strong&gt; — submitted through the admin portal.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 30&lt;/strong&gt; — approved as a Community connector.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;July 30, minutes later&lt;/strong&gt; — published. Publishing after approval is self-serve: a Publish button, and the listing is live.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;20 days, zero pings from my side. There is no published SLA; the official guidance is "expect weeks".&lt;/p&gt;

&lt;h2&gt;
  
  
  What the submission form actually checks
&lt;/h2&gt;

&lt;p&gt;The form is 11 steps, and parts of it are enforced by machine before a human ever looks:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;It connects to your server live.&lt;/strong&gt; Mid-form, it hits your endpoint, counts your tools and resources, and verifies auth support. My submission showed "Tools: 6, Resources: 3, authless supported" — read back to me from my own live server. So your server must be up and correct &lt;em&gt;while you fill in the form&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Missing &lt;code&gt;annotations.title&lt;/code&gt; gets flagged immediately.&lt;/strong&gt; I hadn't set titles on my tools. The form flagged it, I added them, redeployed, and re-ran the check inside the same session — it passed. Fix-and-retry works; you don't have to start over.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A public privacy policy and a landing page are required.&lt;/strong&gt; Not optional, not "coming soon". Both get checked.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The API-ownership question is stricter than it looks.&lt;/strong&gt; The options distinguish first-party APIs from APIs you legitimately proxy. My connector makes live calls to a partner's API under an affiliate agreement, so the honest answer was "we proxy a partner's API with permission" — and that was accepted without friction. Do not claim ownership you don't have; this is exactly the kind of thing a reviewer can check in a minute.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Reviewer instructions are your highest-leverage field.&lt;/strong&gt; I supplied the exact prompts that trigger each tool, plus &lt;strong&gt;three negative prompts&lt;/strong&gt; where the tools must stay silent. That turns an ambiguous review into a 10-minute checklist. I can't prove it sped anything up, but it costs nothing and it demonstrates that you know your own trigger surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  The caching rule that will burn you
&lt;/h2&gt;

&lt;p&gt;The one I most wish I'd known on day one, because it silently constrains your roadmap.&lt;/p&gt;

&lt;p&gt;I found it the annoying way. I shipped a new tool, confirmed it in &lt;code&gt;tools/list&lt;/code&gt; against my own production server, opened a fresh chat — and the client could not see it. Nothing was broken. The client was serving me a tool list it had cached when I first connected, days earlier.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A client caches your tool SET at connect time&lt;/strong&gt;, and holds it until the user manually opens connector settings and hits "Refresh tools list". Not minutes. Indefinitely.&lt;/p&gt;

&lt;p&gt;I mapped the boundary with five experiments over three days:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;What changed&lt;/th&gt;
&lt;th&gt;Reaches existing users without Refresh?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;New tool added&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tool description edited&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Yes&lt;/strong&gt; — live&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Widget UI metadata (&lt;code&gt;_meta.ui&lt;/code&gt;) added to a tool&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Widget HTML itself edited&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;No&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tool response content / logic&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;Yes&lt;/strong&gt; — live&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The mental model that survives all five: &lt;strong&gt;the interface is frozen at connect time; the behavior behind it is live.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;All of that is observed client behaviour, tested in late July 2026. It isn't a documented contract, and it can change in any release — if it moves, I'll update this post.&lt;/p&gt;

&lt;p&gt;Practical consequences:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Finalize your toolset before you distribute.&lt;/strong&gt; Users who connected yesterday will not see the tool you ship tomorrow. Ever, unless they take a manual action they have no reason to take.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polish your widgets before you distribute too.&lt;/strong&gt; I assumed widget HTML was a live resource and could be improved after launch. It can't — I proved myself wrong with a padding fix that didn't arrive until Refresh.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Descriptions stay editable forever.&lt;/strong&gt; That's a real escape hatch: tool descriptions are your trigger surface &lt;em&gt;and&lt;/em&gt; your search index, and you can keep tuning them after launch.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;If you ever need to restrict a tool's behavior, do it in the handler, not in metadata.&lt;/strong&gt; Metadata is frozen per user; handler code runs on every call. Annotations declare; handlers enforce.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  So when do you stop building and submit?
&lt;/h2&gt;

&lt;p&gt;This is the question the cache rule forces on you, and it took me longer to answer than it should have. Two separate things get confused here, so let me split them.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your server can change whenever you like.&lt;/strong&gt; The listing points at a URL. Nobody re-approves your code. Ship fixes, swap data sources, rewrite handlers — none of it involves the directory.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your interface effectively can't.&lt;/strong&gt; Not because it's forbidden, but because of the cache: a tool added after distribution reaches only &lt;em&gt;new&lt;/em&gt; connections. Everyone already connected keeps the surface they got on day one until they take a manual action they have no reason to take. So the practical answer isn't "freeze forever", it's: &lt;strong&gt;anything you add later serves only future users, never your existing base.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That reframes the stop-building decision. It isn't "is my product finished?" It's "is this surface wide enough that I'm happy serving it to whoever connects this month?" I ended up shipping all six verticals before submitting for exactly this reason — not because six was the right product, but because tools I added afterwards would have been invisible to the people who arrived first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Your listing is a separate copy, and it never updates itself
&lt;/h2&gt;

&lt;p&gt;I only found this by reading my own publisher settings carefully, weeks after the fact.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Your listing carries its own copy of your tool names.&lt;/strong&gt; At submission the wizard probes your live server and records the tool names it finds. That list then sits in the listing as an editable field — and it does not follow your server. Ship a seventh tool and the listing still advertises six until you go and edit it, and that edit is reviewed before it goes live.&lt;/p&gt;

&lt;p&gt;Why that matters more than it sounds: the settings page states plainly that &lt;strong&gt;those advertised names power connector suggestions&lt;/strong&gt;. So the discovery surface reads your listing, not your server. A tool your listing doesn't advertise is invisible to suggestions even while your server serves it perfectly. Between the client-side cache and this, "add it later" is a considerably weaker option than it looks.&lt;/p&gt;

&lt;p&gt;The rest of the edit rules, since they're inconsistent enough to be worth memorising:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Listing metadata&lt;/strong&gt; (tagline, description, categories, links, icon): editable, reviewed before going live. I submitted a batch of these on a published listing and watched what happened: the state stays &lt;strong&gt;Published&lt;/strong&gt; with a "pending changes in review" note beside it. Editing does not take you off the shelf.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Advertised tool and prompt names&lt;/strong&gt;: editable, reviewed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing instructions for reviewers&lt;/strong&gt;: saved immediately, no review.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use cases, data handling, compliance answers&lt;/strong&gt;: &lt;strong&gt;locked permanently&lt;/strong&gt; once published. Changing them means emailing the review team.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Display name&lt;/strong&gt;: editable, but forces a full re-review and is flagged as affecting existing users. The slug never changes.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So the fields you should think hardest about before you submit aren't the ones you'd expect. Nobody warns you that the compliance answers are one-way.&lt;/p&gt;

&lt;p&gt;The one thing on that page you can neither edit nor apply for is the Verified tier — more on that below.&lt;/p&gt;

&lt;h2&gt;
  
  
  Widgets do render — including on mobile
&lt;/h2&gt;

&lt;p&gt;There was no clear answer anywhere on whether MCP Apps widgets from a &lt;em&gt;third-party&lt;/em&gt; connector actually render in claude.ai, or whether that's reserved for first-party integrations. They render. Web and the mobile app both, with images loaded from an external domain declared via &lt;code&gt;csp.resourceDomains&lt;/code&gt;, and a native "open external link" confirmation on button clicks.&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F70zw1s7l0hacy7uir0zu.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2F70zw1s7l0hacy7uir0zu.png" alt="A tours widget rendered inside a Claude conversation: photo cards with ratings, durations, prices and book buttons&lt;br&gt;
" width="800" height="509"&gt;&lt;/a&gt;&lt;br&gt;
One caveat: tools that render widgets get classified as interactive, which comes with an opt-in gate in the tool registry. For a user who already connected your server, this doesn't block the call — but it's an extra consideration if you're counting on discovery.&lt;/p&gt;
&lt;h2&gt;
  
  
  After approval: the two tiers
&lt;/h2&gt;

&lt;p&gt;The directory is two-tier and this matters more than the badge suggests:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Community&lt;/strong&gt; — passed automated checks. This is the default outcome.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verified&lt;/strong&gt; — manually reviewed by Anthropic, gets a checkmark.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There is &lt;strong&gt;no published process for going from Community to Verified&lt;/strong&gt; — no criteria, no trigger, nothing to apply to. I asked support directly and was told the criteria aren't in their knowledge base either; I've since put the question to the review team and haven't heard back. If your plan depends on Verified arriving on a schedule, there is currently no schedule to depend on. If you know how it actually works, I'd genuinely like to hear it.&lt;/p&gt;

&lt;p&gt;What I got wrong at first: I assumed the in-chat "Connectors that could help" suggestion panel was gated on Verified, because in my tests a Community-tier connector was ignored while three Verified ones were suggested. The documentation says otherwise — every directory entry is eligible, and &lt;strong&gt;ranking is usage-based&lt;/strong&gt;. So it isn't a badge gate, it's a rank gate: a connector with near-zero usage sinks below the fold, verified or not. Same practical outcome on day one, completely different strategy: usage is the lever, not the badge.&lt;/p&gt;
&lt;h2&gt;
  
  
  The permission surprise
&lt;/h2&gt;

&lt;p&gt;This is the single best argument for submitting that I have found nowhere in the docs.&lt;/p&gt;

&lt;p&gt;When you connect a &lt;strong&gt;custom&lt;/strong&gt; connector by URL, every tool defaults to "ask" — the user gets a permission prompt in every new chat until they manually flip it.&lt;/p&gt;

&lt;p&gt;When you connect the &lt;strong&gt;same server&lt;/strong&gt; from the directory listing, every tool arrives with &lt;strong&gt;"always allow" by default&lt;/strong&gt;. Zero permission prompts. The UI groups tools by their annotations — "Read-only tools" and "Interactive tools" — each with its own three-way toggle.&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fugmc8uzia2700oef9zgu.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fugmc8uzia2700oef9zgu.png" alt="Connector settings: tools auto-grouped into Interactive and Read-only, each set to always allow" width="800" height="521"&gt;&lt;/a&gt;&lt;br&gt;
Same code, same endpoint, same tools. The only difference is provenance. Directory approval is read by the client as trust in the server, and it removes the entire first-use friction step.&lt;/p&gt;

&lt;p&gt;If you're weighing €52/month against "I can just give people a URL" — this is the thing that isn't in the spreadsheet.&lt;/p&gt;
&lt;h2&gt;
  
  
  The publisher dashboard, and what its fields actually mean
&lt;/h2&gt;

&lt;p&gt;Published connectors get a metrics dashboard in the admin settings. It updates once a day, with up to 24h of lag, and it hides any window with fewer than 5 calls.&lt;/p&gt;

&lt;p&gt;Four fields, and the first one is the trap:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Directory Rank.&lt;/strong&gt; The tooltip is explicit: ranked by &lt;em&gt;accounts that attempted to connect&lt;/em&gt; over the last 30 days. It measures connection attempts, not usage. Your rank moves when people click Connect, whether or not they ever call a tool.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool Call Users (30d).&lt;/strong&gt; Distinct accounts that called something. This is your real user count, and it will be much smaller than you expect.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tool Calls (30d)&lt;/strong&gt; and &lt;strong&gt;Error Rate (30d).&lt;/strong&gt; Self-explanatory.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Rank and health are computed on Anthropic's proxy, so only traffic flowing through Claude counts — which, as it turns out, is the opposite of the problem you have on your own server. More on that below.&lt;/p&gt;

&lt;p&gt;I'm not quoting my own numbers yet. Five days after publishing is a point, not a curve, and a point tells you nothing except how impatient the author is.&lt;/p&gt;
&lt;h2&gt;
  
  
  What "visible" actually means
&lt;/h2&gt;

&lt;p&gt;The dashboard shows you connections. It does not show you views, and those are very different quantities.&lt;/p&gt;

&lt;p&gt;The submission form lets you supply a custom icon URL, and mine points at my own domain. Which means every time the directory renders my card, my own access log sees it happen.&lt;/p&gt;

&lt;p&gt;I won't attach a figure, and I won't claim those are all humans looking at my card — a client prefetching the whole shelf produces the same log line, and I can't yet tell the two apart. But even if only a fraction of them are people, the count still sits orders of magnitude above anything in my connection numbers.&lt;/p&gt;

&lt;p&gt;That's enough for the only conclusion I need from it: &lt;strong&gt;whatever is scarce for a new listing, it isn't exposure.&lt;/strong&gt; The directory puts new entries in front of a lot of traffic. The scarce step is converting that into a Connect click — which means your icon, your name and your one-line tagline are doing more work on day one than every tool description combined. I spent days on the tools and about an hour on the tagline. Wrong ratio.&lt;/p&gt;
&lt;h2&gt;
  
  
  Go back and read your own listing settings
&lt;/h2&gt;

&lt;p&gt;Publication feels like a finish line. It isn't, and here's the trap I walked into.&lt;/p&gt;

&lt;p&gt;The publisher settings page has a block of optional fields marked as &lt;em&gt;previously set only by the review team&lt;/em&gt; — author details, a plain-English permissions summary, integration snippets for API and Code users, a screenshot carousel where each image is paired with the prompt it demonstrates, and a checkbox declaring that your connector ships a visual UI.&lt;/p&gt;

&lt;p&gt;Mine sat empty for three days after publishing and I never scrolled down to them. I only looked because I went hunting for an answer to a different question.&lt;/p&gt;

&lt;p&gt;Two of those fields are pure copy-paste and took ten minutes. Here is exactly what went into mine, if it saves you the drafting.&lt;/p&gt;

&lt;p&gt;Claude API — added to a Messages API request via the &lt;code&gt;mcp_servers&lt;/code&gt; parameter (the MCP connector beta header is required):&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;"type"&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="nl"&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://api.triplogistics.app/mcp"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"name"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"trip-logistics-assistant"&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;Claude Code — one line, no API key, since the server is public and read-only:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;claude mcp add &lt;span class="nt"&gt;--transport&lt;/span&gt; http trip-logistics https://api.triplogistics.app/mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There's a related field just above them, "Works with", which drives the directory's own filters. If your listing claims the API and Claude Code as surfaces and these two boxes are empty, you've made the claim without shipping the instructions to act on it.&lt;/p&gt;

&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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp24620f838vad8tn8m3g.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.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fp24620f838vad8tn8m3g.png" alt="Claude directory search for trip — several cards carry an Interactive badge, mine does not" width="800" height="573"&gt;&lt;/a&gt;&lt;br&gt;
That last checkbox is the one worth checking today. Browse the directory and you'll see some cards carry an &lt;strong&gt;Interactive&lt;/strong&gt; badge. Mine doesn't — despite the fact that every other surface recognises the server as interactive. The submission wizard's live probe counted my widgets ("Resources: 3"). The connector's own permission screen sorts my six tools into "Interactive tools (3)" and "Read-only tools (3)", read straight off the annotations my server serves. The client knows. The shelf doesn't.&lt;/p&gt;

&lt;p&gt;So the badge is not derived from what your server declares. The obvious candidate is that unticked checkbox. I've ticked it; at the time of writing the change is still queued for review, so take it as a strong hypothesis rather than a proven mechanism. Either way it is not a verified-tier perk: community listings carry it too.&lt;/p&gt;

&lt;p&gt;So: after you publish, go read every field in your own settings, including the ones below the fold. The directory keeps opening up controls that used to belong to the review team, and nobody sends you a note when it happens.&lt;/p&gt;

&lt;h2&gt;
  
  
  Four operational things nobody warns you about
&lt;/h2&gt;

&lt;p&gt;Remember the proxy point from the dashboard section — this is its other half. Anthropic counts only what flows through Claude; your own server counts everything, and most of it isn't human.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Publish to the MCP Registry and a crawler swarm arrives.&lt;/strong&gt; Within days I was taking roughly &lt;strong&gt;2,000 requests/day&lt;/strong&gt; to &lt;code&gt;/mcp&lt;/code&gt; from scanners, scoring engines and indexers, hitting every few minutes and calling my tools with synthetic arguments across all six verticals at once. They create no load, but they poison your database: I had 861 recorded tool calls, almost all of them robots. Classify traffic by user-agent and source IP from day one, or your own usage numbers are a lie you tell yourself. After I added a classifier I could finally see that my first real external call was one request for an eSIM in Armenia.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;All clients come from a shared pool of egress IPs.&lt;/strong&gt; Every claude.ai user reaches you from the same handful of addresses, so an aggressive per-IP rate limit throttles real users rather than attackers. Set it generously and watch your 429 log for those ranges specifically. It also means an authless server cannot tell its users apart at all. That's a floor of the design, not a gap in your logging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Implement a drain on SIGTERM.&lt;/strong&gt; My first deploy during live traffic killed a tool call mid-flight. Now the server finishes in-flight requests before exiting. Every deploy would otherwise be a small outage for whoever is mid-conversation.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The slug is locked forever, and edits to a published listing go through re-review.&lt;/strong&gt; Metadata edits (tagline, description, links, icon) queue as pending changes while your listing stays live; a name change forces a full re-review. Choose the slug like it's a domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I'd do differently
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Freeze the toolset earlier.&lt;/strong&gt; I added two verticals late and had to re-verify everything under time pressure, purely because of the cache rule.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Build the bot filter before publishing, not after.&lt;/strong&gt; Two weeks of metrics are unusable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Not treat the badge as the goal.&lt;/strong&gt; Usage drives rank, rank drives suggestions. Everything else is downstream.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Write the reviewer instructions first.&lt;/strong&gt; Forcing yourself to list the exact prompts that must trigger each tool — and the ones that must &lt;em&gt;not&lt;/em&gt; — is the best design review of your tool descriptions you'll get. Two of my descriptions changed as a result.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  One limit on all of the above
&lt;/h2&gt;

&lt;p&gt;I was approved on the first attempt, so everything here is the happy path. I don't know what a rejection looks like: how it's communicated, how specific the feedback is, or how much of a resubmission you'd have to redo. If you've been through that side of it, I'd rather link to your write-up than guess.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it's still worth doing
&lt;/h2&gt;

&lt;p&gt;A few hundred connectors are listed, against thousands of MCP servers in the wild. The review queue is the bottleneck, and that asymmetry works for anyone willing to sit in it. When I checked my own categories before submitting, several returned no results at all.&lt;/p&gt;

&lt;p&gt;I'll post the follow-up at the end of August: the curve instead of the point, including what happens when a listing falls off the "New" shelf, which nobody has written about.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The connector, if you want to see what got approved: search "trip logistics" in the Claude directory, or &lt;a href="https://triplogistics.app" rel="noopener noreferrer"&gt;triplogistics.app&lt;/a&gt;. Disclosure: booking links in the connector are affiliate links — stated on the listing and on the site.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I'm also thinking about doing this for other people — not the knowledge, that's all above and it's free, but the hands: reviewing your server and your submission before you send it so you pass on the first attempt. If that would be useful, say so in the comments; I'm gauging whether it's worth building.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;And if you're going through submission and hit something I didn't cover — ask. I'll answer, and fold the corrections back into this post.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>ai</category>
      <category>buildinpublic</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
