- An MCP connector: include one when Claude needs to reach your product or data. It points at an MCP server that you build and host
- Skills: include them to teach Claude your workflows, such as the sequence of steps, the defaults, and what good output looks like
- An MCP App: include one when you want the connector to show interactive UI in the conversation
- Commands and agents: include named actions, or specialists Claude can delegate to, which Plugin structure and testing covers
Choose a starting page
Build a plugin
Lay out the plugin folder and manifest, write the skills, reference your MCP server, and test the plugin in Claude.
Write skills
Teach Claude your workflows: the SKILL.md frontmatter, the instructions, reference files, and scripts.
Build an MCP server
Give the plugin access to your product or data: implement the server, set up authentication for Claude’s clients, and test it.
Add interactive UI
Have your MCP server show interactive components in the conversation with MCP Apps. Optional.
Submit your plugin or MCP server
List it in Anthropic’s directory so anyone can add it: who can submit, what review involves, and the developer portal steps. Submit your MCP server as a connector too, even when your plugin references it.
- If you want to connect a tool or install a plugin for yourself, see the Customize Claude tab
- If you’re not sure whether your plugin needs an MCP server at all, see Decide what to include in your plugin
- If you’re distributing only inside your organization, see Roll out a plugin to your whole organization
- If you’re building only for Claude Code’s terminal and IDE users, see the Claude Code plugin docs, which cover what that surface alone supports
Steps to build and publish a plugin
Building and publishing a plugin follows these steps in order:- Lay out the plugin: create the folder and manifest and reference any MCP server it uses. Start with Build your first plugin if you haven’t made one before, or Plugin structure and testing for the full layout. Chat, Cowork, and Claude Code each load different parts of a plugin, so check Plugin feature support across platforms before you commit to a design.
- Write the skills: teach Claude your workflows in
SKILL.mdfiles inside the plugin. Create a skill covers the frontmatter, the instructions, reference files, and scripts - Build the MCP server: if the plugin needs to reach your product or data, implement the server, get authentication right for Claude’s clients, and test it against Claude. Start with Build an MCP server for Claude, or with Build your first MCP server for Claude if you haven’t written one before. A local server can also be packaged as a desktop extension.
- Add interactive UI: if you want your server to show interactive components in the conversation, build them with MCP Apps. This step is optional.
- Test it: try the plugin in Claude before you publish it. Test the plugin on each surface covers claude.ai, Cowork, and Claude Code, and Test your MCP server covers adding your server as a custom connector
- Publish: submit the plugin to the directory, submit its MCP server as a connector, and maintain the listing. Start with Publish to the directory.
- Measure: after people have it, see whether they use it.
Tools that help you build and check a plugin
Most of the tooling for building and checking a plugin lives in Claude Code, Anthropic’s command-line coding tool. You don’t need it to use plugins, but you’ll want it to build one: it validates your plugin folder, runs evals, and loads a plugin from a local folder so you can try it before you push. If you don’t have it yet, install Claude Code first. These are the tools to know:claude plugin validate: run in your terminal to check the manifest and component files before you pushclaude --plugin-dir: start Claude Code with your plugin loaded from a local folder, so you can try its skills and commands before it’s in a repositoryclaude plugin eval: run eval cases you write and compare Claude’s results with and without your plugin. Each run is a real model call that counts against your plan’s usage or your API bill/skill-doctor: in a Claude Code session, see what each installed skill costs in context and how often Claude has invoked itskill-creator: a skill from Anthropic that drafts a skill with you and runs it on test prompts; available in claude.ai and Claude Codeplugin-devandmcp-server-dev: plugins Anthropic publishes for Claude Code whose skills walk Claude through building a plugin or an MCP server with you
Measure usage of what you built
Usage figures for a directory listing are in the developer portal, and figures for a plugin you distribute yourself or inside your organization are in Claude Code or in Customize. Each of these pages covers one case:- A plugin listed in the directory: How a published plugin is used covers installs, versions, how often each skill and MCP server runs, and error rates
- A connector listed in the directory: Manage your directory listing covers the dashboard’s server health, usage by product and by tool, and error breakdown
- A plugin you rolled out to your organization’s Claude Code users: Measure and evaluate plugins covers what a plugin costs in context, whether it’s used, and the OpenTelemetry events that answer organization-wide questions
- A plugin or skill used inside your organization on claude.ai: How a plugin is used in your organization covers the adoption and activity figures on its page in Customize
Next steps
- Build your first plugin: build a small example plugin, test it, and push it to GitHub, ready to submit your own
- Plugin structure and testing: the folder layout, manifest, skills, MCP server reference, and testing
- Build an MCP server for Claude: implement the server, authentication, and testing against Claude
- Decide what to include in your plugin: decide whether your plugin needs an MCP server, commands, agents, or UI