import { JsonLd } from '@/components/json-ld';
import { articleJsonLd, breadcrumbJsonLd, pageMetadata } from '@/lib/seo';
import Link from 'next/link';
import { ArticleShell, H2, Note, P, Strong, Table, UL } from '../article-shell';

const PATH = '/guides/smithery-alternative';
const TITLE = 'Smithery alternative: when you need hosting, not a directory';
const DESCRIPTION =
  'Smithery is the best-known MCP registry — thousands of servers, CLI install, hosting for listed servers. The gap: it assumes the server exists. Here is the route when it does not, and where Smithery clearly wins.';

export const metadata = pageMetadata({ title: TITLE, description: DESCRIPTION, path: PATH });

export default function Page() {
  return (
    <>
      <JsonLd
        data={articleJsonLd({
          title: TITLE,
          description: DESCRIPTION,
          path: PATH,
          datePublished: '2026-07-08',
          authorName: 'Marco Sadjadi',
          wordCount: 1150,
        })}
      />
      <JsonLd
        data={breadcrumbJsonLd([
          { name: 'Home', path: '/' },
          { name: 'Guides', path: '/guides' },
          { name: TITLE, path: PATH },
        ])}
      />
      <ArticleShell
        title={TITLE}
        subtitle="Registry and generator solve different halves of the same problem. Smithery answers 'where do I find or publish an MCP server?' A generator answers 'who builds and hosts mine?' Picking the wrong one wastes an afternoon; here is how to tell them apart in two minutes."
        updated="July 2026"
      >
        <H2>What Smithery does well</H2>
        <P>
          Smithery is the closest thing MCP has to a package index. As of mid-2026 it lists{' '}
          <Strong>thousands of community-built servers</Strong> (their catalog crossed 6,000+ some
          time ago), searchable by category, installable via CLI, and — for servers published there
          — runnable as hosted remote endpoints with OAuth handled by the platform. Its Toolbox
          meta-server can even route an agent dynamically across registry servers so you don&apos;t
          wire each one by hand. Browsing and publishing are free; hosted execution and higher
          usage sit behind paid tiers.
        </P>
        <P>
          Two jobs it does better than anyone: <Strong>discovery</Strong> (&quot;does a server for X
          already exist?&quot;) and <Strong>distribution</Strong> (&quot;let people find and run the
          server I wrote&quot;). If either is your actual need, stop reading and use Smithery.
        </P>

        <H2>The assumption baked into a registry</H2>
        <P>
          Every path through Smithery starts from an existing server: one you found in the catalog,
          or one you wrote and published. The moment your need is a tool that{' '}
          <em>nobody has built</em> — a wrapper around your internal API, a scoped read-only view of
          your own database, a workflow specific to your team — the registry has nothing to list.
          You are back to the MCP SDK, TypeScript, container images and OAuth wiring before
          Smithery can help you host or distribute anything.
        </P>

        <H2>The alternative: generate, then host</H2>
        <P>
          <Strong>BuildMyMCPServer</Strong> replaces the &quot;write it first&quot; step. Describe
          the tool in natural language; the platform generates the TypeScript MCP server, runs
          static checks, builds an isolated Docker container and deploys it behind a full OAuth 2.1
          authorization server (PKCE, Dynamic Client Registration, Resource Indicators) at a public
          Streamable HTTP URL. Claude Desktop, Cursor and ChatGPT connect with a copy-paste
          snippet. The full source stays exportable — if you later want to publish the server on
          Smithery or self-host it, you can take the code and go.
        </P>

        <H2>Side by side</H2>
        <Table>
          <thead>
            <tr>
              <th>&nbsp;</th>
              <th>Smithery</th>
              <th>BuildMyMCPServer</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>
                <Strong>Core job</Strong>
              </td>
              <td>Find, publish and run existing servers</td>
              <td>Create and host a server that doesn&apos;t exist yet</td>
            </tr>
            <tr>
              <td>
                <Strong>Starting point</Strong>
              </td>
              <td>A server (yours or the catalog&apos;s)</td>
              <td>A sentence describing the tool</td>
            </tr>
            <tr>
              <td>
                <Strong>Catalog size</Strong>
              </td>
              <td>Thousands of community servers</td>
              <td>Small first-party template gallery</td>
            </tr>
            <tr>
              <td>
                <Strong>Hosting &amp; auth</Strong>
              </td>
              <td>Hosted endpoints with OAuth for listed servers</td>
              <td>Every server deployed behind OAuth 2.1, isolated container</td>
            </tr>
            <tr>
              <td>
                <Strong>Pricing shape</Strong>
              </td>
              <td>Free registry; paid hosting/usage tiers</td>
              <td>Free: 1 server, 100k calls/mo; Pro €49/mo</td>
            </tr>
            <tr>
              <td>
                <Strong>Exit path</Strong>
              </td>
              <td>Your code was always yours</td>
              <td>Full TypeScript source export</td>
            </tr>
          </tbody>
        </Table>

        <Note>
          Smithery details are as of mid-2026 from public materials; check their site for current
          catalog size and tier pricing.
        </Note>

        <H2>Decision rule</H2>
        <UL>
          <li>
            <Strong>The tool might already exist</Strong> → search Smithery first. Genuinely — five
            minutes there can save the whole build.
          </li>
          <li>
            <Strong>You wrote a server and want users</Strong> → publish on Smithery; that is its
            home turf.
          </li>
          <li>
            <Strong>The tool is bespoke to your company</Strong> → generate it. A registry cannot
            list what only you need.
          </li>
          <li>
            <Strong>Long-term:</Strong> the routes compose — generate the bespoke server, export
            the source, publish it wherever distribution helps.
          </li>
        </UL>

        <H2>Honest caveats</H2>
        <P>
          We are the young product in this comparison: no SOC 2, a small template gallery next to a
          registry of thousands, and a generator that is bounded by what a prompt can specify —
          clear inputs, outputs and API calls. What we ask you to test is the part that matters
          when nothing in any catalog fits: prompt to hosted, OAuth-protected server in about a
          minute, on the{' '}
          <Link href="/pricing" className="text-[--color-accent] hover:underline">
            free tier
          </Link>
          , starting from scratch or from a{' '}
          <Link href="/templates" className="text-[--color-accent] hover:underline">
            template
          </Link>
          .
        </P>

        <P>
          Related:{' '}
          <Link
            href="/guides/mcp-server-hosting-pricing"
            className="text-[--color-accent] hover:underline"
          >
            MCP hosting pricing compared
          </Link>{' '}
          ·{' '}
          <Link
            href="/guides/hosted-mcp-platforms-compared"
            className="text-[--color-accent] hover:underline"
          >
            registries vs connectors vs infra vs generators
          </Link>{' '}
          ·{' '}
          <Link href="/guides/composio-alternative" className="text-[--color-accent] hover:underline">
            Composio alternative
          </Link>
          .
        </P>
      </ArticleShell>
    </>
  );
}
