Labsco
the-basilisk-ai logo

Squad AI

2

from the-basilisk-ai

Product‑discovery and strategy platform integration. Create, query and update opportunities, solutions, outcomes, requirements and feedback from any MCP‑aware LLM.

🔥🔥🔥✓ VerifiedFreeAdvanced setup

Squad MCP Server

A remote MCP server that brings Squad — the AI-powered product discovery and strategy platform — directly into your AI workflows. Connect Squad to Claude, ChatGPT, or any MCP-compatible AI assistant to research, ideate, and plan products without context switching.

✨ Available Tools

The Squad MCP server provides 30+ tools across 9 categories:

CategoryToolsPurpose
Opportunitieslist_opportunities, get_opportunity, create_opportunity, update_opportunity, delete_opportunity, generate_solutions, manage_opportunity_relationshipsDiscover and refine product opportunities
Solutionslist_solutions, get_solution, create_solution, update_solution, delete_solution, manage_solution_relationships, prioritise_solutionsGenerate and iterate on solution ideas
Goalslist_goals, get_goal, create_goal, update_goal, delete_goal, manage_goal_relationshipsDefine and track business objectives
Knowledgelist_knowledge, get_knowledge, create_knowledge, delete_knowledgeStore research, references, and insights
Feedbacklist_feedback, get_feedback, create_feedback, delete_feedbackManage customer and stakeholder feedback
Insightslist_insights, get_insight, create_insight, delete_insightTrack customer insights and feature requests
Workspacelist_workspaces, select_workspace, get_workspace, update_workspaceConfigure workspace settings
Searchsimilarity_searchSemantic search across all entities
Viewsview_strategy_context, view_roadmapRich visual strategy and roadmap widgets

Tool Capabilities

All tools include:

  • ✅ Safety annotations (readOnlyHint / destructiveHint)
  • ✅ Structured JSON schemas for inputs/outputs
  • ✅ User-isolated data access via OAuth
  • ✅ Relationship management between entities

🏗️ Architecture

┌─────────────┐         OAuth          ┌──────────────┐
│  Claude /   │ ◄────────────────────► │  PropelAuth  │
│  ChatGPT    │    (Authentication)     │   (IdP)      │
└─────────────┘                         └──────────────┘
       │
       │ HTTPS + Bearer Token
       ▼
┌──────────────────────────────────────────────┐
│  Squad MCP Server                            │
│  ┌────────────────────────────────────────┐  │
│  │  OAuth Middleware → Validate Token     │  │
│  │  JWT Minting → Service Credentials    │  │
│  │  Session Store → Manage State          │  │
│  │  MCP Handler → Execute Tools           │  │
│  └────────────────────────────────────────┘  │
└──────────────────────────────────────────────┘
       │
       │ Squad API Calls (minted JWT)
       ▼
┌──────────────┐
│  Squad API   │
└──────────────┘

📦 NPM Package

For programmatic access to Squad tools in your Node.js applications:

npm install @squadai/tools
import { tools as squadTools } from "@squadai/tools";

// Use with Vercel AI SDK
const result = await generateText({
  model: anthropic("claude-3-5-sonnet-20241022"),
  tools: squadTools({
    jwt: "YOUR_JWT_TOKEN",
    orgId: "org-123",
    workspaceId: "ws-456",
  }),
  prompt: "List my current product opportunities",
});

🛠️ Development

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

Prerequisites

  • Node.js 22.22+
  • Yarn
  • Nix (optional, for reproducible dev environment via flake.nix)
  • PropelAuth account (for OAuth2)
  • Squad API credentials

Local Setup

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

# Install dependencies
yarn install

# Configure environment
cp .env.example .env
# Edit .env with your PropelAuth credentials

# Start development server with hot reload
yarn dev

# Server available at http://localhost:3232

Available Commands

yarn build              # Compile TypeScript
yarn dev                # Start dev server with hot reload
yarn start              # Start production server
yarn test               # Run unit tests (vitest)
yarn format             # Lint with biome
yarn format:fix         # Auto-fix lint issues
yarn openapi:squad      # Regenerate API client from OpenAPI spec
yarn storybook          # Run Storybook for widget development

Testing the Server

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

# Check OAuth discovery
curl http://localhost:3232/.well-known/oauth-authorization-server

# Test with MCP Inspector
npx @modelcontextprotocol/inspector
# Then connect to http://localhost:3232/mcp

Project Structure

squad-mcp/
├── index.ts                    # MCP server entry point with OAuth
├── server.json                 # MCP registry metadata
├── src/
│   ├── client.ts               # MCP client export
│   ├── helpers/
│   │   ├── config.ts           # Environment configuration
│   │   ├── getUser.ts          # OAuth context + workspace selection
│   │   └── mintToken.ts        # JWT minting + per-user cache
│   ├── lib/
│   │   ├── logger.ts           # Structured logging
│   │   └── clients/
│   │       ├── squad.ts        # Squad API client factory
│   │       └── middleware/     # Bearer token middleware
│   └── tools/                  # Tool implementations
│       ├── opportunity.ts
│       ├── solution.ts
│       ├── goal.ts
│       ├── knowledge.ts
│       ├── feedback.ts
│       ├── insight.ts
│       ├── workspace.ts
│       ├── search.ts
│       ├── views.ts
│       └── helpers.ts
├── resources/                  # React widget components
│   ├── view-strategy-context/
│   └── view-roadmap/
├── railway.toml                # Railway deployment config
└── .env.example                # Environment template

💬 Support

Need help with the Squad MCP server?

🤝 Contributing

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

  • yarn format passes (biome lint)
  • yarn build compiles without errors
  • yarn test passes
  • All tools include safety annotations

📄 License

MIT