mcp
This repository contains the packages that make up Pipeshub’s local MCP server
claude mcp add --transport stdio pipeshub-ai-mcp-server docker run -i -e MCP_ENDPOINT_URL=https://PIPESHUB_INSTANCE_URL/mcp pipeshub-ai/mcp-server \ --env YOUR_CLIENT_ID="OAuth app client ID" \ --env YOUR_CLIENT_SECRET="OAuth app client secret" \ --env PIPESHUB_INSTANCE_URL="Your PipesHub instance URL, e.g. https://app.pipeshub.com"
How to use
This MCP server acts as a remote endpoint exposed by PipesHub. Clients such as Cursor, Claude Code, Gemini CLI, and Claude.ai (Web) connect to the remote MCP endpoint at PIPESHUB_INSTANCE_URL/mcp using static OAuth credentials. The server leverages Streamable HTTP to serve the MCP protocol, so no local npm packages or stdio processes are required on the client side. To integrate, configure each client with the remote endpoint URL and supply the OAuth client ID, secret, and the appropriate redirect/callback URIs as described in the PipesHub OAuth setup. Cursor, Claude Code, Gemini CLI, and Claude.ai will automatically discover authorization endpoints via PipesHub’s /.well-known/oauth-protected-resource/mcp and manage token exchange as needed. Ensure your OAuth app has access to all scopes advertised by the MCP discovery document, or customize MCP_SCOPES on the PipesHub instance if you need a narrower scope set.
How to install
Prerequisites:
- A running PipesHub instance with an OAuth app configured for MCP
- Access to modify the hosting environment where the MCP endpoint will run (e.g., Docker)
Installation steps (Docker-based deployment):
- Ensure Docker is installed on the host machine.
- Set environment variables for your PipesHub instance and OAuth credentials:
- PIPESHUB_INSTANCE_URL=https://app.pipeshub.com
- YOUR_CLIENT_ID=your-client-id
- YOUR_CLIENT_SECRET=your-client-secret
- Start the MCP server container using the provided image and environment variables:
docker run -i \
-e MCP_ENDPOINT_URL=${PIPESHUB_INSTANCE_URL}/mcp \
-e PIPESHUB_INSTANCE_URL=${PIPESHUB_INSTANCE_URL} \
-e YOUR_CLIENT_ID=${YOUR_CLIENT_ID} \
-e YOUR_CLIENT_SECRET=${YOUR_CLIENT_SECRET} \
--name pipeshub-mcp-server \
pipeshub-ai/mcp-server
Note: If you already have a specific hosting environment, adapt the command to your stack (e.g., uvx/Python, Node, or a cloud runner) while ensuring the MCP_ENDPOINT_URL is correctly set to your remote PipesHub MCP URL.
- Verify the server is reachable at ${PIPESHUB_INSTANCE_URL}/mcp and that clients can authenticate using the configured OAuth flow.
Additional notes
Tips and considerations:
- The remote MCP endpoint URL must be accessible by all clients (Cursor, Claude Code, Gemini CLI, Claude.ai). Ensure proper DNS and firewall rules.
- If you encounter OAuth scope errors, verify that your PipesHub OAuth app has all scopes advertised by the MCP discovery endpoint, or adjust MCP_SCOPES on the PipesHub server to match your needs.
- Cursor and Claude Code will auto-discover endpoints and handle token exchange via the .well-known/mcp discovery metadata; ensure the endpoint is publicly reachable from those clients.
- For security, store CLIENT_ID and CLIENT_SECRET securely and avoid embedding them in code or config files that are committed to source control.
- If you switch hosting environments, update the MCP_ENDPOINT_URL in client configurations accordingly.
Related MCP Servers
zen
Selfhosted notes app. Single golang binary, notes stored as markdown within SQLite, full-text search, very low resource usage
MCP -Deepseek_R1
A Model Context Protocol (MCP) server implementation connecting Claude Desktop with DeepSeek's language models (R1/V3)
mcp-fhir
A Model Context Protocol implementation for FHIR
mcp
Inkdrop Model Context Protocol Server
mcp-appium-gestures
This is a Model Context Protocol (MCP) server providing resources and tools for Appium mobile gestures using Actions API..
dubco -npm
The (Unofficial) dubco-mcp-server enables AI assistants to manage Dub.co short links via the Model Context Protocol. It provides three MCP tools: create_link for generating new short URLs, update_link for modifying existing links, and delete_link for removing short links.