MCP Plugin Template
A GitHub template for packaging any Model Context Protocol (MCP) server as an installable Claude Code plugin with zero dependencies. It allows developers to distribute their servers directly from GitHub and provides a structure for managing tools, resources, and npm dependencies.
README
MCP Plugin Template
A GitHub template for packaging any MCP server as an installable plugin for GitHub Copilot in VS Code.
For plugin authors
1. Use this template
Click "Use this template" on GitHub to create your own repo.
2. Add your MCP server
Edit server/index.js — add tools and resources to the objects at the top of the file. The included server implements the MCP protocol directly with no dependencies.
If you need npm packages, add them to package.json and see Adding dependencies below.
3. Fill in the placeholders
Search for YOUR_ across the repo and replace:
| Placeholder | Where | What |
|---|---|---|
YOUR_PLUGIN_NAME |
plugin.json, .mcp.json, package.json, server/index.js |
Your plugin's name (kebab-case) |
YOUR_DESCRIPTION |
plugin.json |
What your plugin does |
YOUR_NAME |
plugin.json |
Your name |
YOUR_EMAIL |
plugin.json |
Your email |
YOUR_USERNAME |
plugin.json |
Your GitHub username |
YOUR_REPO |
plugin.json |
Your GitHub repo name |
4. Distribute
Share your repo — users install the plugin directly from the GitHub URL.
Important: The plugin is read from the repository's default branch. Make sure your changes are merged to
main/masterbefore distributing.
Try it yourself
Want to test your plugin before sharing it? Here's how:
-
Fill in the placeholders — follow step 3 above to replace all
YOUR_values with your own info. -
Push to GitHub — commit your changes and push the repo to GitHub. Make sure it's on your default branch (
mainormaster). -
Install your own plugin — open the VS Code command palette (
F1orCtrl+Shift+P), select "Chat: Install Plugin from Source", and paste your repo URL:https://github.com/YOUR_USERNAME/YOUR_REPOHit enter and the plugin is installed.
-
Test it — ask GitHub Copilot:
Test the connection with my-plugin-name
Copilot should call the
hellotool and return:"Hello from your MCP plugin!"
Replace
my-plugin-namewith whatever you setYOUR_PLUGIN_NAMEto.
If that works, your plugin is wired up correctly and ready to distribute.
For users installing a plugin built from this template
- Open the VS Code command palette (
F1orCtrl+Shift+P) - Select "Chat: Install Plugin from Source"
- Paste the plugin's GitHub repo URL (e.g.
https://github.com/AUTHOR/REPO) and hit enter
That's it — GitHub Copilot can now access the plugin's tools.
How it works
your-plugin/
├── .claude-plugin/
│ └── plugin.json # Plugin metadata
├── .mcp.json # MCP server declaration
├── server/
│ └── index.js # Your MCP server (edit this)
├── package.json # Plugin metadata
└── README.md
.mcp.jsontells Claude Code to start your server vianode server/index.js- The server implements the MCP protocol (JSON-RPC over stdio) with no external dependencies
${CLAUDE_PLUGIN_ROOT}points to the plugin's install directory
Adding dependencies
If your server needs npm packages:
- Add them to
package.json - Create
hooks/hooks.jsonwith aSessionStarthook to auto-install them:
{
"hooks": {
"SessionStart": [
{
"hooks": [
{
"type": "command",
"command": "diff -q \"${CLAUDE_PLUGIN_ROOT}/package.json\" \"${CLAUDE_PLUGIN_DATA}/package.json\" >/dev/null 2>&1 || (cd \"${CLAUDE_PLUGIN_DATA}\" && cp \"${CLAUDE_PLUGIN_ROOT}/package.json\" . && npm install --production) || rm -f \"${CLAUDE_PLUGIN_DATA}/package.json\""
}
]
}
]
}
}
- Add
NODE_PATHto.mcp.jsonso your server can find the installed modules:
{
"mcpServers": {
"your-plugin": {
"command": "node",
"args": ["${CLAUDE_PLUGIN_ROOT}/server/index.js"],
"env": {
"NODE_PATH": "${CLAUDE_PLUGIN_DATA}/node_modules"
}
}
}
}
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.