Publishing

Publishing

Project Structure

Your MCP server directory needs these files:

my-mcp-server/
├── package.json      ← name, version, entry point
├── server.js         ← your MCP server code
├── mcpm.json         ← client config (recommended)
└── README.md         ← docs for your users

package.json

<span class="hljs-punctuation">{</span>
  <span class="hljs-attr">&quot;name&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;my-awesome-mcp&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;version&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;1.0.0&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;description&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Does something amazing&quot;</span><span class="hljs-punctuation">,</span>
  <span class="hljs-attr">&quot;main&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;server.js&quot;</span>
<span class="hljs-punctuation">}</span>

mcpm.json (recommended)

This file tells MCP clients how to run your server. It maps directly to the mcpServers entry users paste into their client config:

<span class="hljs-punctuation">{</span>
  <span class="hljs-attr">&quot;mcp&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
    <span class="hljs-attr">&quot;transport&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;stdio&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;command&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;node&quot;</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;args&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-string">&quot;server.js&quot;</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span>
    <span class="hljs-attr">&quot;env&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">{</span>
      <span class="hljs-attr">&quot;API_KEY&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;your-default-here&quot;</span>
    <span class="hljs-punctuation">}</span>
  <span class="hljs-punctuation">}</span>
<span class="hljs-punctuation">}</span>
Field Description
transport Protocol transport — almost always "stdio"
command The command to run your server (node, python, uv, etc.)
args Arguments passed to the command
env Environment variables your server needs (API keys, etc.)

Without mcpm.json, the registry falls back to npx -y <package-name> as the default client config.

Publish

<span class="hljs-built_in">cd</span> my-tool
mcpm-dev publish

Update

npm version patch
mcpm-dev publish

Delete

Visit your dashboard to manage packages.