Connect your tools to Codewhale
Connect an MCP server for tools, load a skill for instructions, or install a plugin that packages both. You choose which integrations run.
Plugin, skill, or MCP server?
Start with what you want to add.
Skill
Reusable Markdown instructions for a task. Uses the tools already available; it does not create a new service connection.
MCP server
An external program or service that exposes tools, resources or prompts. Configure its command or URL and authentication.
Plugin
A reviewed bundle of skills, commands, agent profiles, hooks, MCP servers or provider declarations. Install, review, trust, then enable.
Computer Use
Let an agent work in Mac apps while you keep using your computer. Connect the Computer Use helper and plugin to Codewhale or another compatible MCP host.
The published CLI v0.10.2 includes an older Computer Use bundle. Installing the catalog entry does not upgrade that built-in copy. Follow the version-specific setup before connecting the current Mac helper.
The marketplace plugin is available for Mac. GitHub releases also offer an unsigned experimental Windows preview; Linux remains experimental source and Docker setup. Other platforms do not provide Mac-style background input.
Computer Use- Works in the background
- On macOS the agent can type, click and scroll in a selected app without moving your pointer or taking focus. Some apps and dialogs need foreground interaction.
- Read app controls
- Accessible controls expose buttons, fields and their values, so a text-only model can operate supported apps. Screenshots remain available when the task needs them.
Browse Codewhale plugins
These are examples from the public Codewhale catalog. The terminal ships an offline snapshot: available entries and pinned versions depend on your CLI release. Browsing the catalog runs nothing.
/plugin marketplace list
- Cloudflare DocsLook up Cloudflare documentation with a remote MCP server and skill. No credentials required.
- Codewhale for ChromeWork in signed-in Chrome through local MCP. Requires Node and the separate browser extension, with per-site grants.
- GitHub WorkflowReview issues and pull requests with skills, commands and GitHub’s remote MCP. Requires your GitHub token; review its scopes.
- Linear WorkflowTurn issue context into a plan with skills, commands and remote MCP. Requires a Linear API key.
- Review ToolkitUse focused review agent profiles, a command and a skill. Adds no MCP server or service login.
- WhaleWikiResearch a repository with a skill, command, agent profile and local MCP. Requires Node.
Catalog source: github.com/codewhale-hq/codewhale-plugin-marketplace. A local catalog named codewhale takes precedence over the bundled snapshot.
Connect an MCP server directly
Use local tools over stdio or a remote service over Streamable HTTP. Direct remote connections can use OAuth or environment-backed tokens. A plugin is optional.
codewhale mcp add cloudflare-docs --url "https://docs.mcp.cloudflare.com/mcp" codewhale mcp tools cloudflare-docsMCP setup, authentication and troubleshooting
Which plugin formats work?
Compatibility depends on the capabilities inside a bundle. A recognized manifest does not mean every feature from another host will run.
- Codewhale / Agent Plugins v1
- Declarative skills, commands, agent profiles, hooks, MCP and provider declarations. Native TypeScript extensions are experimental and require extension_host; declaring LSP or filesystem roots does not activate them.
- Claude Code and Kimi bundles
- Compatible skills, commands, agent profiles and MCP declarations can be imported. Claude hooks, LSP, custom MCP paths and plugin-root expansion are rejected. Review the imported capabilities.
- DeepSeek Harness (DSH)
- Import work is in progress. Full published-plugin workflows and interactive views are not release-qualified; do not assume a DSH package runs unchanged.
- MCP authentication and UI
- Plugin-bundled MCP does not support OAuth: configure that server directly instead. MCP Apps UI and every optional protocol feature are not generally supported.
Install a bundle from its source
Point /plugin install at a directory, a GitHub repository, a tarball, or an exact-version npm package. The fetched tree must hold exactly one bundle root: a plugin.json, a compatible kimi.plugin.json or .claude-plugin/plugin.json, or a legacy plugin.toml.
- GitHub repositoryFetches a repository archive. Pin a commit for repeatable installs.
- Local directoryCopied from disk. The fastest loop while authoring your own bundle.
- Tarball URLDownloads the archive directly under the per-domain network policy. An unknown host is refused until you allow it.
- Version-pinned npm packageFetches the exact tarball without lifecycle scripts or dependency installation. It must contain a supported native plugin manifest.
Review and enable a plugin
Every bundle lands disabled and untrusted. Review the manifest and declared capabilities, then trust and enable it. An update with changed bytes requires review again.
Review
/plugin trust <name> shows the capability review and prints the confirmation command.
Trust
After reviewing, copy and run the exact confirmation command, including both full hashes. Catalog provenance alone grants no permission.
Enable
/plugin enable <name> activates the bundle. Plugin-contributed MCP servers use namespaced identities and the plugin’s reviewed permissions.
Downloads are tarball-only with a size cap and no symlinks; traversal, ambiguous roots, and changed plugin identities are rejected. /plugin suggest ranks installed and catalog bundles against a task without installing anything.
Share an integration
Package a useful workflow, document its dependencies, and show what you verified. The authoring guide covers a local bundle; the catalog repository is where to propose an entry or improve an existing one.
Command reference
Run the full lifecycle from the terminal:
/plugin marketplace list /plugin marketplace show codewhale /plugin marketplace install codewhale <name> /plugin install github:owner/repo /plugin show <name> /plugin trust <name> /plugin trust <name> <full-content-sha256>.<full-capability-sha256> /plugin enable <name> /plugin update <name> /plugin suggest <task>