cc-plugin-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@cc-plugin-mcplist available plugins"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
cc-plugin-mcp
MCP (Model Context Protocol) server for accessing Claude Code plugins.
Overview
This MCP server provides an interface to Claude Code's plugin system via the Model Context Protocol, enabling you to retrieve plugin lists and detailed information. It can be used from MCP clients such as Claude Desktop, Cursor, etc.
Related MCP server: claudecode-mcp
Key Features
MCP Protocol Support: Compliant with Model Context Protocol
Plugin Management: Retrieve plugin lists and load elements from Claude Code plugins
Security: Path traversal protection, input validation, error handling
Performance: LRU cache for fast access
Operability: Comprehensive logging, 29 test cases
MCP Tools
list_plugins- Get a list of available pluginsload_elements- Load elements (skills, agents, commands) from specified plugins
Configuration
Add the following to your MCP client configuration file (e.g., claude_desktop_config.json for Claude Desktop):
{
"mcpServers": {
"cc-plugin-mcp": {
"command": "uvx",
"args": ["cc-plugin-mcp"]
}
}
}Installation
# Run directly with uvx (recommended)
uvx cc-plugin-mcp
# Or install from PyPI
pip install cc-plugin-mcp
# For development
git clone https://github.com/ppspps824/cc-plugin-mcp.git
cd cc-plugin-mcp
uv sync --all-extrasUsage
This runs as an MCP server and is called directly by MCP clients. For manual testing:
# Start MCP server with uvx (recommended)
uvx cc-plugin-mcp
# Or for development
uv run python -m cc_plugin_mcp.mainMCP Integration with AI Tools
For optimal use of this MCP server with AI tools like Cursor, Claude Desktop, or other MCP-compatible clients:
With Cursor
Add the MCP server to your Cursor settings (
.cursor/settings.jsonor similar)Include the configuration shown in the Configuration section above
Important: Make sure to load the MCP server tools in your system prompt or initial message. Tell the AI to use the available MCP tools by instructing it to first call the MCP tools list to discover what's available.
With Claude Desktop
Add the configuration to
claude_desktop_config.jsonas shown in the Configuration sectionRestart Claude Desktop to enable the MCP server
The MCP tools will be automatically available for Claude to use
Best Practices for Using MCP Tools
Load the tools first: Always instruct the AI to first call the available MCP tools to discover what's available
Check the system prompt: Ensure your system prompt or initial instructions include guidance to use MCP tools
Discover capabilities: Use the tools to explore available plugins and their elements before requesting specific functionality
Testing
# Run tests
uv run pytest
# With coverage
uv run pytest --cov=cc_plugin_mcpTroubleshooting
Plugins not found
Check if
~/.claude/plugins/directory existsVerify
marketplace.jsonexists in~/.claude/plugins/marketplaces/
MCP client doesn't recognize the server
Verify MCP client configuration file is set up correctly
Check if
uvxcommand is available (uvx --version)Check MCP client logs for error messages
Tests failing
uv sync --all-extras --refresh
uv run pytest -vLicense
MIT
Repository
Available Tools
2 toolslist_pluginsA
Get list of all available plugins from marketplaces.
Returns: List of plugins with name, description, and categorized elements (agents, commands, skills).
Raises: HTTPException: If plugins cannot be read.
Responses:
200 (Success): Successful Response
Content-Type:
application/jsonExample:
[
"unknown_type"
]| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It mentions raising HTTPException on failure, but lacks details on authentication, rate limits, idempotency, or potential side effects, leaving significant gaps for a safe operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is relatively concise with structured sections for returns and raises. However, the example response includes an odd value 'unknown_type' which may cause confusion, slightly reducing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no parameters and an output schema exists, the description adequately covers return values. It could mention potential pagination or filtering, but for a simple list tool it is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the baseline is 4. The description does not need to add parameter meaning beyond the schema, and it correctly notes no parameters are required.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets a list of all available plugins from marketplaces, with a specific verb and resource. It mentions the return structure (name, description, categorized elements), distinguishing it from the sibling tool 'load_elements' which likely deals with loading elements rather than listing plugins.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives, no prerequisites or exclusions provided. The description does not help an agent decide between this and the sibling tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
load_elementsC
Load plugin elements (skills, agents, commands) with their content.
Args: plugin_name: Name of the plugin. request: Request body with elements to load.
Returns: Response with loaded element contents.
Raises: HTTPException: If plugin is not found or elements cannot be read.
Path Parameters:
plugin_name (Required): No description.
Responses:
200 (Success): Successful Response
Content-Type:
application/jsonResponse Properties:
plugin_name: プラグイン名
elements: 読み込まれた要素のリスト
Example:
{
"plugin_name": "string",
"elements": [
"unknown_type"
]
}422: Validation Error
Content-Type:
application/jsonResponse Properties:
Example:
{
"detail": [
"unknown_type"
]
}| Name | Required | Description | Default |
|---|---|---|---|
| plugin_name | Yes | ||
| elements | Yes | 読み込む要素のリスト |
Output Schema
| Name | Required | Description |
|---|---|---|
| plugin_name | Yes | プラグイン名 |
| elements | Yes | 読み込まれた要素のリスト |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations provided, so the description must carry full burden. It mentions possible HTTP exceptions (plugin not found, elements cannot be read) but does not disclose side effects, permissions, or whether the operation is destructive. The response example is vague and doesn't clarify the tool's behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Description is structured into sections (Args, Returns, Raises, Path Parameters, Responses) which aids readability. However, it is somewhat verbose and includes redundant information (e.g., 'Path Parameters' repeats plugin_name already in input schema). The use of Japanese in descriptions may reduce clarity for English-speaking agents.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (2 parameters, no annotations), the description is incomplete. It does not clarify whether the tool is read-only or mutating, nor does it explain the relationship between path parameters and request body. The sibling tool list_plugins provides minimal context. The response example is vague.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50% (plugin_name lacks description in schema). The description adds minimal: it mentions 'request: Request body with elements to load' but does not elaborate on plugin_name's role. The elements parameter is described in the schema (in Japanese) and the description adds little beyond that.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it loads plugin elements (skills, agents, commands) with their content, which is specific. It differentiates from the sibling tool list_plugins which likely only lists plugins. However, 'load' is somewhat ambiguous (could mean retrieve content or load into memory).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool versus alternatives. The sibling tool list_plugins is mentioned but no comparison. The description does not state prerequisites or when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.5- First observed
list_plugins - First observed
load_elements
TDQS
list_plugins and load_elements have clearly distinct purposes: one for browsing all plugins, the other for retrieving detailed elements of a specific plugin. No overlap or confusion possible.
Both tool names follow the consistent verb_noun pattern in snake_case (list_plugins, load_elements), making them predictable and readable.
With only 2 tools, the server feels thin for a plugin management system. However, the tools are well-scoped to listing and loading, so it is borderline acceptable.
The tool set covers only read operations (list and load). Missing create, update, delete, or search functionality, which are significant gaps for managing plugins.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Augments MCP Server - A comprehensive framework documentation provider for Claude Code
MCP server for progressive tool usage at any scale (see https://klavis.ai)
Nifty's MCP server — exposes tasks, projects, messages, and files as tools for AI agents.
Hosted MCP server connecting claude.ai, ChatGPT and other AI apps to your own computer
Related MCP Servers
- AlicenseBqualityDmaintenanceMCP server for managing Claude Code conversation sessions1278MIT
- AlicenseAqualityBmaintenanceLocal MCP server that wraps the headless Claude Code CLI as MCP tools, providing stateless access to Claude's coding capabilities through prompt-based interactions. It enables users to execute Claude Code commands with various prompt formats and structured outputs directly from MCP clients.3MIT
- AlicenseNot gradedqualityBmaintenanceA dead simple MCP server for exposing your app functions to AI agents like Claude Desktop.215MIT
- AlicenseNot gradedqualityDmaintenanceMCP server that enables Claude Code to communicate with other Claude Code agents over HTTP, allowing users to ask questions about remote codebases or delegate coding tasks.MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ppspps824/cc-plugin-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server