Skip to main content
Glama

Squad MCP Server

A remote MCP server that brings Squad — the AI product feedback intelligence platform — directly into your AI workflows. Connect Squad to Claude, ChatGPT, or any MCP-compatible AI assistant to turn raw user feedback into signals, insights, actions, and briefs without context switching.

Squad continuously ingests feedback, clusters it into signals, distils it into insights, and links it to the actions and goals that move your product forward. The MCP server exposes that same intelligence — read the evidence behind a decision, capture new feedback, and generate briefs from your assistant.

šŸš€ Quick Start

For Users

Connect Squad to your AI assistant in seconds:

Claude Code:

claude mcp add --transport http squad https://mcp.meetsquad.ai/mcp

On first use, you'll be prompted to authenticate via OAuth in your browser.

Other MCP Clients:

Connect using https://mcp.meetsquad.ai/mcp — OAuth configuration is automatically discovered via the server's .well-known/oauth-protected-resource metadata (which points clients at PropelAuth as the authorization server).

Related MCP server: neurohive

šŸ“– Usage Examples

See USAGE_EXAMPLES.md for detailed real-world examples. A few things you can ask:

  • Triage feedback — "Capture this support ticket in Squad and tell me if it's a known theme."

  • Weekly review — "Run my weekly product review: what changed and what needs deciding?"

  • Ground the evidence — "Show me the customer signals behind insight IN-42."

  • Draft a brief — "Generate a brief for action AC-12."

  • Search everything — "Find all feedback related to onboarding friction."

  • Ground a ticket — "Pull the customer evidence behind AC-7 before I build it."

Squad entities are referenced by short display IDs so the assistant can cite its evidence:

Prefix

Entity

Prefix

Entity

SI-

Signal

GL-

Goal

IN-

Insight

BR-

Brief

AC-

Action

DC-

Document

CL-

Cluster

✨ Available Tools

The server exposes ~35 tools. Write tools require a token minted with the write:workspace scope; read tools only need read:workspace.

Category

Tools

Purpose

Workspace

list_workspaces, select_workspace, get_workspace_overview, update_workspace, list_members

Orient in and configure a workspace

Search

search, get_entity

Semantic search and fetch any entity by ID

Evidence

list_signals, find_similar_signals, list_clusters, get_cluster, list_insights

Explore signals, clusters, and insights

Actions

list_actions, get_action_context, update_action, update_action_status

Track and update product work

Strategy

list_goals, create_goal, update_goal, update_insight, dismiss_signal, get_activity

Manage goals, insights, and activity

Knowledge

list_documents, create_document, update_document

Store research, references, and notes

Briefs

list_briefs, generate_brief, update_brief_status

Generate and manage briefs

Ingest

ingest_signal

Capture new feedback as a signal (with dedup)

Integrations

list_integrations

See connected feedback sources

Prompts

Ready-made workflows exposed as MCP prompts:

  • triage-feedback — check for duplicates, ingest a piece of feedback, and report where it landed.

  • weekly-product-review — what changed, what the evidence says, and what needs deciding.

  • draft-decision-brief — generate a brief from an action or insight and walk it to a readable draft.

  • ground-this-ticket — for coding agents: pull the customer evidence behind a piece of work before building it.

Resources

Pin these so strategy questions need no tool calls:

  • squad://workspace/context — the current workspace's mission and product context.

  • squad://goals — the workspace's strategic goals with importance rankings.

Tool Capabilities

  • āœ… Safety annotations (readOnlyHint / destructiveHint) on every tool

  • āœ… Structured Zod input schemas

  • āœ… User- and workspace-isolated data access via OAuth

  • āœ… Scope-gated writes (write:workspace)

šŸ—ļø Architecture

ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”         OAuth          ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Claude /   │ ◄────────────────────► │  PropelAuth  │
│  ChatGPT    │    (Authentication)     │   (IdP)      │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜                         ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
       │
       │ HTTPS + Bearer Token
       ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Squad MCP Server                            │
│  ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”  │
│  │  OAuth → introspect + verify token     │  │
│  │  JWT minting → service credentials     │  │
│  │  Redis → workspace selection + tokens  │  │
│  │  MCP handler → tools / prompts / res.  │  │
│  │  PostHog → tool-call telemetry         │  │
│  ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜  │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜
       │
       │ Squad API Calls (minted JWT)
       ā–¼
ā”Œā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”
│  Squad API   │
ā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜

The server is built on mcp-use v2 and talks to the Squad platform API over GraphQL. Each request is served statelessly: the MCP layer holds no session, and every call re-introspects its own bearer token. Redis stores the durable per-user state (workspace selection and minted-token cache), so any instance can serve any request. Backend types are generated from a committed GraphQL schema snapshot (see GraphQL codegen).

šŸ› ļø Development

This repository contains the source code for the Squad MCP remote server.

Prerequisites

  • Node.js 22+

  • pnpm

  • Nix (optional, for a reproducible dev environment via flake.nix)

  • PropelAuth credentials (OAuth 2.1 client + backend API key)

  • Redis (optional locally; workspace selection falls back to in-memory)

Local Setup

# Clone repository
git clone https://github.com/the-basilisk-ai/squad-mcp.git
cd squad-mcp

# Install dependencies
pnpm install

# Configure environment
cp .env.example .env
# Edit .env with your PropelAuth credentials (and SQUAD_ENV=dev to target the dev platform)

# Start development server with hot reload
pnpm dev

# Server available at http://localhost:3232

Environment Variables

Variable

Required

Purpose

PROPELAUTH_CLIENT_ID / PROPELAUTH_CLIENT_SECRET

āœ…

OAuth 2.1 client credentials for token introspection

PROPELAUTH_API_KEY

āœ…

Backend integration key for minting service JWTs

SQUAD_ENV

dev or production (default production) — selects auth/API/app URLs

PORT / MCP_URL / BASE_URI

Server port and externally-advertised base URL

REDIS_URL

Redis connection for deploy-safe workspace selection and token cache (in-memory if unset)

SQUAD_GRAPHQL_URL

Override the Squad GraphQL endpoint (also used by codegen)

POSTHOG_API_KEY / POSTHOG_HOST

Enable tool-call telemetry

LOG_LEVEL

Logger verbosity

Available Commands

pnpm dev                # Start dev server with hot reload (mcp-use)
pnpm build              # Build the server (mcp-use)
pnpm start              # Start the built server
pnpm deploy             # Deploy via mcp-use
pnpm test               # Run unit tests (vitest)
pnpm format             # Lint/format check (biome)
pnpm format:fix         # Auto-fix lint/format issues
pnpm codegen            # Regenerate GraphQL types from schema.graphql
pnpm codegen:check      # Fail if generated GraphQL types are stale

Testing the Server

# Check health
curl http://localhost:3232/health

# Check OAuth discovery
curl http://localhost:3232/.well-known/oauth-protected-resource

# Test with the built-in inspector
pnpm dev   # then open the inspector and connect to http://localhost:3232/mcp

Project Structure

squad-mcp/
ā”œā”€ā”€ server.ts                   # MCP server entry point (OAuth, tool/prompt/resource registration)
ā”œā”€ā”€ server.json                 # MCP registry metadata (see MCP_REGISTRY.md)
ā”œā”€ā”€ schema.graphql              # Committed snapshot of the Squad platform GraphQL schema
ā”œā”€ā”€ codegen.ts                  # GraphQL Code Generator config
ā”œā”€ā”€ src/
│   ā”œā”€ā”€ tools/                  # Tool implementations, grouped by surface
│   │   ā”œā”€ā”€ registry.ts         # Single registration path (annotations, errors, telemetry)
│   │   ā”œā”€ā”€ workspace.ts        # list/select workspaces, overview, members
│   │   ā”œā”€ā”€ search.ts           # semantic search
│   │   ā”œā”€ā”€ get-entity.ts       # fetch any entity by display ID / UUID
│   │   ā”œā”€ā”€ evidence.ts         # signals, clusters, insights
│   │   ā”œā”€ā”€ actions-read.ts     # list actions, action context
│   │   ā”œā”€ā”€ actions-write.ts    # update actions + status
│   │   ā”œā”€ā”€ strategy-read.ts    # goals, activity
│   │   ā”œā”€ā”€ strategy-write.ts   # create/update goals, insights, dismiss signals
│   │   ā”œā”€ā”€ knowledge.ts        # documents + briefs
│   │   ā”œā”€ā”€ ingest.ts           # ingest new signals
│   │   └── integrations.ts     # list connected sources
│   ā”œā”€ā”€ prompts/                # MCP prompt workflows
│   ā”œā”€ā”€ resources/              # MCP resources (workspace context, goals)
│   ā”œā”€ā”€ gql/                    # Generated GraphQL types (pnpm codegen)
│   ā”œā”€ā”€ graphql/                # GraphQL operation documents
│   ā”œā”€ā”€ helpers/                # OAuth provider, token minting, workspace selection, KV/Redis
│   └── lib/                    # Squad API client, logger, telemetry
ā”œā”€ā”€ railway.toml                # Railway deployment config
└── .env.example                # Environment template

šŸ­ Production Deployment

This is a hosted service maintained by Squad. Users connect via OAuth — no self-hosting required.

Architecture notes (for contributors):

  • Deployed on Railway with a /health readiness check

  • Stateless request handling, with Redis holding the per-user workspace selection and token cache, so instances scale horizontally

  • Follows the MCP specification for streamable HTTP transport

šŸ’¬ Support

Need help with the Squad MCP server?

šŸ¤ Contributing

Contributions welcome! Pre-commit hooks run biome and vitest automatically. Please ensure:

  • pnpm format passes (biome)

  • pnpm build compiles without errors

  • pnpm test passes

  • pnpm codegen:check passes if you touched GraphQL operations

  • All tools include safety annotations

šŸ“„ License

MIT

GraphQL codegen

Backend access is typed via GraphQL Code Generator. schema.graphql is a committed snapshot of the Squad platform API schema; src/gql/ is generated from it plus the operation documents in src/graphql/.

  • Refresh the snapshot: copy packages/graphql/src/schema/generated.graphql from the API repo over schema.graphql (or set SQUAD_GRAPHQL_URL to introspect a live endpoint), then run pnpm codegen.

  • CI runs pnpm codegen:check and fails when src/gql/ is stale.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

–Maintainers
58dResponse time
4wRelease cycle
7Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Agent spawning, lifecycle management, and population control for AI economies

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…

  • Collective memory for AI agents. One agent solves a bug — every agent gets the fix instantly.

View all MCP Connectors

Latest Blog Posts

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/the-basilisk-ai/squad-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server