@khmuhtadin/pi-clickup-mcp

Pi extension that bridges pi to the official ClickUp remote MCP server.

Package details

extension

Install @khmuhtadin/pi-clickup-mcp from npm and Pi will load the resources declared by the package manifest.

$ pi install npm:@khmuhtadin/pi-clickup-mcp
Package
@khmuhtadin/pi-clickup-mcp
Version
0.1.2
Published
May 6, 2026
Downloads
not available
Author
khmuhtadin
License
MIT
Types
extension
Size
22.5 KB
Dependencies
1 dependency · 2 peers
Pi manifest JSON
{
  "extensions": [
    "./index.ts"
  ]
}

Security note

Pi packages can execute code and influence agent behavior. Review the source before installing third-party packages.

README

pi ClickUp MCP Extension

A pi package that bridges pi to the official ClickUp remote MCP server (https://mcp.clickup.com/mcp).

It exposes a small, generic bridge instead of registering dozens of ClickUp tools by default. This keeps pi's tool list compact while still allowing the model to discover and call any ClickUp MCP tool.

Installation

From npm, after publishing:

pi install npm:@khmuhtadin/pi-clickup-mcp

From git:

pi install git:github.com/khmuhtadin/pi-clickup-mcp

For local development:

pi install /absolute/path/to/pi-clickup-mcp-extension

Registered tools

  • clickup_mcp_list_tools — list tools exposed by the ClickUp MCP server.
  • clickup_mcp_call_tool — call any ClickUp MCP tool by name with JSON arguments.

Example prompt after authorization:

List ClickUp MCP tools, then search my workspace for tasks mentioning onboarding.

Slash commands

  • /clickup-mcp-auth-url — start OAuth and print the ClickUp authorization URL to the terminal.
  • /clickup-mcp-auth <full-redirect-url-or-code> — finish OAuth with the full redirect URL or the code value from that URL.
  • /clickup-mcp-token-status — show token status without exposing token values.
  • /clickup-mcp-reset — clear stored OAuth credentials.
  • /clickup-mcp-register [tool1,tool2|*] — optional: register selected MCP tools as native pi tools with a clickup_ prefix.

OAuth flow

  1. Start or reload pi.

  2. Run:

    /clickup-mcp-auth-url
    
  3. Open the printed ClickUp authorization URL in your browser.

  4. After approval, the browser redirects to http://localhost:9876/callback?.... A local server is not required; copy the full redirect URL from the address bar.

  5. Run:

    /clickup-mcp-auth <full-redirect-url>
    

    You can also paste only the code query parameter value, but do not include code=, &state=..., or whitespace.

  6. Test by asking pi to use clickup_mcp_list_tools.

Credentials are stored at:

~/.pi/agent/extensions/clickup-mcp/auth-store.json

Configuration

Optional environment variables:

  • CLICKUP_MCP_URL — defaults to https://mcp.clickup.com/mcp.
  • CLICKUP_MCP_REDIRECT_URL — defaults to http://localhost:9876/callback.
  • CLICKUP_MCP_STORE_PATH — defaults to ~/.pi/agent/extensions/clickup-mcp/auth-store.json.
  • CLICKUP_MCP_TIMEOUT_MS — defaults to 10000.
  • CLICKUP_MCP_SCOPE — defaults to read write.

Refresh token note

At the time this package was created, ClickUp MCP OAuth metadata advertised:

"grant_types_supported": ["authorization_code"]

That means the server does not advertise refresh_token grant support. This package requests read write scope, but a refresh token can only exist if ClickUp's OAuth server returns one. If /clickup-mcp-token-status reports refresh_token: missing, that is a ClickUp MCP server limitation, not a pi extension limitation.

Development

npm install
npm run typecheck
npm pack --dry-run

License

MIT