This repository contains the packages that make up Pipeshub’s local MCP server
- ✓Actively maintained (<30d)
- ✓Clear description
- ✓Documented (README)
- !No standard license detected
claude mcp add mcp-server -- npx -y skills{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": ["-y", "skills"],
"env": {
"MCP_CLIENT_SECRET": "<mcp_client_secret>",
"PIPESHUB_INSTANCE_URL": "<pipeshub_instance_url>"
}
}
}
}MCP_CLIENT_SECRETPIPESHUB_INSTANCE_URLResumen de MCP Servers
# Connecting MCP Clients to PipesHub MCP Server
This guide covers how to connect PipesHub's remote MCP server to **Cursor**, **Claude Code**, **Gemini CLI**, **Codex CLI**, **Claude.ai (Web)**, and **LibreChat** using static OAuth credentials or bearer tokens.
PipesHub exposes a remote MCP endpoint over **Streamable HTTP** at `/mcp`. MCP Clients connect to this endpoint directly -- no local npm packages or stdio processes needed.
> **Coding agent?** Start at [For coding agents](https://docs.pipeshub.com/for-agents.md). Install the skill into the *user's* repo with `npx skills add pipeshub-ai/mcp-server` (see [`skills/pipeshub`](./skills/pipeshub/SKILL.md)). Contributors working in this repository: read [AGENTS.md](./AGENTS.md).
>
> **Looking for the tool reference?** See [TOOLS.md](./TOOLS.md) for descriptions, arguments, and a decision guide for each tool the MCP server exposes (`pipeshub_chat`, `pipeshub_search`, `pipeshub_get_record_content`, `pipeshub_download_record`, `pipeshub_directory`, `pipeshub_sources`, `pipeshub_agents`).
>
> **Using QM?** QM cannot attach a third-party MCP endpoint — it is an MCP *server* to its own harness, not a client. Follow [Use PipesHub with QM](./qm/docs/use-with-qm.md). The deployment-layer bundle in [`qm/`](./qm/) gives agents a `pipeshub` command inside their sandbox; this package ships that command as a second bin.
## Prerequisites
- A running PipesHub instance (self-hosted or cloud)
- An OAuth app created in PipesHub (see [Step 1](#step-1-create-an-oauth-app-in-pipeshub))
## Step 1: Create an OAuth App in PipesHub
1. Log in to your PipesHub instance as an admin
2. Navigate to **Settings > Developer Settings > OAuth Apps**
3. Click **Create OAuth App**
4. Fill in the app details:
- **Name**: e.g., `MCP Integration`
- **Redirect URIs**: Add all the redirect URIs for the clients you plan to use:
| Client | Redirect URI |
|---|---|
| **Cursor** | `cursor://anysphere.cursor-mcp/oauth/callback` |
| **Claude Code** | `http://localhost:<PORT>/callback` (e.g., `http://localhost:8080/callback`) |
| **Claude.ai (Web)** | `https://claude.ai/api/mcp/auth_callback` |
| **Gemini CLI** | `http://localhost:7777/oauth/callback` |
| **LibreChat** | `http://localhost:3080/api/mcp/<server-identifier>/oauth/callback` |
> **Important:** The scopes in [`MCP_SCOPES`](https://github.com/pipeshub-ai/pipeshub-ai/blob/main/backend/env.template#L57) must match the scopes granted to your OAuth app — a mismatch will result in an authorization error.
5. Save the app and copy the **Client ID** and **Client Secret**
### Customizing Default Scopes
By default, PipesHub exposes some default scopes in its `/.well-known/oauth-protected-resource/mcp` discovery endpoint. You can customize which scopes are exposed by setting the [`MCP_SCOPES`](https://github.com/pipeshub-ai/pipeshub-ai/blob/main/backend/env.template#L57) environment variable on your PipesHub instance. This is useful for clients like Claude Code that automatically request all exposed scopes.
## Placeholders
Replace these in all configurations below:
| Placeholder | Description | Example |
|---|---|---|
| `PIPESHUB_INSTANCE_URL` | Your PipesHub instance URL | `https://app.pipeshub.com` |
| `YOUR_CLIENT_ID` | OAuth app client ID | `clid_abc123...` |
| `YOUR_CLIENT_SECRET` | OAuth app client secret | `clsec_xyz789...` |
The remote MCP endpoint URL is: `PIPESHUB_INSTANCE_URL/mcp`
---
## Remote MCP Setup
<details>
<summary><strong>Cursor</strong></summary>
Cursor supports static OAuth for remote MCP servers via the `auth` object in `mcp.json`.
### Configuration
Open Cursor Settings > Tools and Integrations > New MCP Server, or edit your project's `.cursor/mcp.json`:
```json
{
"mcpServers": {
"pipeshub": {
"url": "PIPESHUB_INSTANCE_URL/mcp",
"auth": {
"CLIENT_ID": "YOUR_CLIENT_ID",
"CLIENT_SECRET": "YOUR_CLIENT_SECRET",
"scopes": [
"org:read", "org:write", "org:admin",
"user:read", "user:write", "user:invite", "user:delete",
"usergroup:read", "usergroup:write",
"team:read", "team:write",
"kb:read", "kb:write", "kb:delete", "kb:upload",
"semantic:read", "semantic:write", "semantic:delete",
"conversation:read", "conversation:write", "conversation:chat",
"agent:read", "agent:write", "agent:execute",
"connector:read", "connector:write", "connector:sync", "connector:delete",
"config:read", "config:write",
"document:read", "document:write", "document:delete",
"crawl:read", "crawl:write", "crawl:delete"
]
}
}
}
}
```
Cursor will auto-discover the authorization and token endpoints via PipesHub's `/.well-known/oauth-protected-resource/mcp` metadata.
> **Note:** If the `scopes` field is omitted, Cursor fetches `/.well-known/oauth-protected-resource/mcp` and requests **all** `scopes_supported` listed there. To limit access, explicitly list only the scopes you need. You can also control which scopes are exposed server-side — see [Customizing Default Scopes](#customizing-default-scopes).
### Using Environment Variables
Use Cursor's `${env:VAR}` interpolation to keep secrets out of config files:
```json
{
"mcpServers": {
"pipeshub": {
"url": "${env:PIPESHUB_INSTANCE_URL}/mcp",
"auth": {
"CLIENT_ID": "${env:PIPESHUB_CLIENT_ID}",
"CLIENT_SECRET": "${env:PIPESHUB_CLIENT_SECRET}",
"scopes": [
"kb:read", "kb:write",
"semantic:read", "semantic:write",
"conversation:read", "conversation:write", "conversation:chat",
"agent:read", "agent:write", "agent:execute",
"connector:read", "connector:write",
"config:read", "user:read"
]
}
}
}
}
```
### Redirect URI
Cursor uses a fixed redirect URI for all MCP servers:
```
cursor://anysphere.cursor-mcp/oauth/callback
```
Register this as the allowed redirect URI when creating the OAuth app in PipesHub.
### OAuth Login Troubleshooting
If Cursor's internal browser fails to load the OAuth login page, copy the authorization URL from the internal browser and paste it into your normal browser to complete the login flow.
</details>
<details>
<summary><strong>Claude Code</strong></summary>
Claude Code supports remote HTTP MCP servers with static OAuth credentials via `--client-id`, `--client-secret`, and `--callback-port`.
PipesHub exposes discovery at `/.well-known/oauth-protected-resource/mcp`, so Claude Code auto-discovers the authorization and token endpoints.
> **Important:** Claude Code does **not** support configuring specific scopes. It fetches `/.well-known/oauth-protected-resource/mcp`, reads the `scopes_supported` list, and requests **all** of them. Your OAuth app in PipesHub **must have access to all scopes** listed in the discovery endpoint, otherwise the authorization request will fail. To limit the exposed scopes, see [Customizing Default Scopes](#customizing-default-scopes).
### Add with CLI
```bash
claude mcp add --transport http \
--client-id YOUR_CLIENT_ID \
--client-secret \
--callback-port 8080 \
pipeshub PIPESHUB_INSTANCE_URL/mcp
```
> `--client-secret` without a value prompts for masked input. To skip the prompt, set the `MCP_CLIENT_SECRET` environment variable:
>
> ```bash
> MCP_CLIENT_SECRET=YOUR_CLIENT_SECRET claude mcp add --transport http \
> --client-id YOUR_CLIENT_ID \
> --client-secret \
> --callback-port 8080 \
> pipeshub PIPESHUB_INSTANCE_URL/mcp
> ```
To make it available across all projects:
```bash
claude mcp add --transport http --scope user \
--client-id YOUR_CLIENT_ID \
--client-secret \
--callback-port 8080 \
pipeshub PIPESHUB_INSTANCE_URL/mcp
```
### Add with JSON
```bash
claude mcp add-json pipeshub '{
"type": "http",
"url": "PIPESHUB_INSTANCE_URL/mcp",
"oauth": {
"clientId": "YOUR_CLIENT_ID",
"callbackPort": 8080
}
}' --client-secret
```
### Project-Scoped (`.mcp.json`)
Create a `.mcp.json` file in your project root. This can be committed to version control (secrets stay out via env vars):
```json
{
"mcpServers": {
"pipeshub": {
"type": "http",
"url": "${PIPESHUB_INSTANCE_URL}/mcp",
"oauth": {
"clientId": "${PIPESHUB_CLIENT_ID}",
"callbackPort": 8080
}
}
}
}
```
Set environment variables before launching Claude Code:
```bash
export PIPESHUB_INSTANCE_URL="https://app.pipeshub.com"
export PIPESHUB_CLIENT_ID="your-client-id"
```
> **Note:** The client secret is stored in the system keychain, not in config files. You'll be prompted to enter it when you first authenticate via `/mcp`.
### Authenticate
After adding the server, run `/mcp` inside Claude Code and follow the browser login flow. Tokens are stored securely and refreshed automatically.
### Verify
```bash
claude mcp list
claude mcp get pipeshub
```
</details>
<details>
<summary><strong>Gemini CLI</strong></summary>
Gemini CLI supports remote MCP servers with OAuth via `dynamic_discovery` (the default), which auto-discovers authorization and token endpoints from PipesHub's `/.well-known/oauth-protected-resource/mcp`.
### Option A: Settings File
Edit `~/.gemini/settings.json`:
```json
{
"mcpServers": {
"pipeshub": {
"url": "PIPESHUB_INSTANCE_URL/mcp",
"oauth": {
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET",
"scopes": [
"org:read", "org:write", "org:admin",
"user:read", "user:write", "user:invite", "user:delete",
"usergroup:read", "usergroup:write",
"team:read", "team:write",
"kb:read", "kb:write", "kb:delete", "kb:upload",
"semantic:read", "semantic:write", "semantic:delete",
"conversation:read", "conversation:write", "conversation:chat",
"agent:read", "agent:write", "agent:execute",
"connector:read", "connecLo que la gente pregunta sobre mcp-server
¿Qué es pipeshub-ai/mcp-server?
+
pipeshub-ai/mcp-server es mcp servers para el ecosistema de Claude AI. This repository contains the packages that make up Pipeshub’s local MCP server Tiene 5 estrellas en GitHub y su última actualización registrada es del 2026-08-21.
¿Cómo se instala mcp-server?
+
Puedes instalar mcp-server clonando el repositorio (https://github.com/pipeshub-ai/mcp-server) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.
¿Es seguro usar pipeshub-ai/mcp-server?
+
Nuestro agente de seguridad ha analizado pipeshub-ai/mcp-server y le ha asignado un Trust Score de 62/100 (tier: OK). Revisa el desglose completo de comprobaciones superadas y flags en esta página.
¿Quién mantiene pipeshub-ai/mcp-server?
+
pipeshub-ai/mcp-server es mantenido por pipeshub-ai. La última actividad registrada en GitHub es del 2026-08-21, con 12 issues abiertos.
¿Hay alternativas a mcp-server?
+
Sí. En ClaudeWave puedes explorar mcp servers similares en /categories/mcp, ordenados por popularidad o actividad reciente.
Despliega mcp-server en tu cloud
Lleva este repo a producción en minutos. Cada plataforma genera su propio entorno con variables de entorno editables.
¿Mantienes este repo? Añade un badge a tu README
Pega el badge en tu README de GitHub para mostrar que está auditado por ClaudeWave. Cada badge enlaza de vuelta a esta página y muestra el Trust Score actual.
[](https://claudewave.com/repo/pipeshub-ai-mcp-server)<a href="https://claudewave.com/repo/pipeshub-ai-mcp-server"><img src="https://claudewave.com/api/badge/pipeshub-ai-mcp-server" alt="Featured on ClaudeWave: pipeshub-ai/mcp-server" width="320" height="64" /></a>Más MCP Servers
Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
User-friendly AI Interface (Supports Ollama, OpenAI API, ...)
An open-source AI agent that brings the power of Gemini directly into your terminal.
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
The fastest path to AI-powered full stack observability, even for lean teams.
🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!