Skip to main content
Glama

SquadCo API Docs MCP Server

Disclaimer: This is a community-driven project and is not affiliated with or endorsed by SquadCo. It is built by developers, for developers, using the official public SquadCo documentation.

The SquadCo MCP Server provides your AI coding assistant (Claude, Cursor, Windsurf, etc.) with direct, structured access to the full SquadCo API documentation.

Stop switching between your editor and the browser. Get precise API specs, validation logic, and code samples for SquadCo integrations directly in your chat.


Key Features

  • Direct Knowledge: Instant access to documentation for Payments, Transfers, Virtual Accounts, VAS, and Webhooks.

  • Accurate Specs: Returns the exact technical markdown sections—no fuzzy hallucinations.

  • Developer Ready: Full details on Sandbox environments, test cards, and security validation.

  • No Clone Needed: Run directly using uvx or pipx.


Related MCP server: Payman AI Documentation MCP Server

Capabilities

The MCP server covers the entire SquadCo ecosystem:

1. Payments and Collections

  • Checkout Options: Integration guides for the Squad Payment Modal (Inline), Redirect flows, and mobile-ready implementations.

  • Direct API: Technical specs for server-to-server payment initiation and transaction verification.

  • Alternative Methods: Documentation for POS Payment, Direct Debit, and E-commerce plugins (WooCommerce).

  • Testing: A comprehensive list of test card numbers, expiry dates, and CVVs for sandbox testing.

2. Transfers and Payouts

  • Fund Transfers: How to move funds from your Squad Wallet to any bank account in Nigeria.

  • Account Lookup: recipient name verification logic to ensure transaction accuracy.

  • Wallet Management: Checking ledger balances and transaction history.

  • Bank Codes: A complete, searchable list of all supported bank and microfinance codes.

3. Virtual Accounts

  • Account Generation: Creating dedicated virtual accounts for customers to receive automated bank transfers.

  • Dynamic V2: Advanced specifications for high-frequency, dynamic account creation and management.

  • Metadata: Attaching custom data to accounts for easier reconciliation.

4. Value Added Services (VAS)

  • Airtime and Data: API specs for selling mobile airtime and data bundles.

  • Bills Payment: Integration for electricity bills and other utility services.

  • SMS Services: Managing SMS buckets and automated messaging.

5. Operations and Security

  • Webhooks: Step-by-step setup for POST notifications, IP filtering, and signature verification.

  • Security: Technical guides for HMAC-SHA512 validation and AES-256 encryption/decryption.

  • Management: Detailed flows for Refunds, Disputes, and Chargebacks.

6. Sandbox and Testing

  • Environment Setup: Detailed information on using the sandbox-api.squadco.com endpoints.

  • Test Assets: A full database of test card numbers, CVVs, and standard OTP codes for simulating successful and failed payments.

  • Transfer Simulation: Specific API flows for simulating incoming bank transfers to virtual accounts in a test environment.


Tools

Tool

Purpose

search_docs

The main entry point. Search for any SquadCo feature (e.g., "AES encryption").

list_docs

Browse all available API documentation files.

get_doc_structure

View the structural map of a specific document to find precise sections.

resolve_section

Fetch the full technical content, URLs, and code samples for a section.


Client Configuration Guide

1. Prerequisites

Before configuring your client, ensure you have the following installed on your host machine:

  • Python 3.10+: Required to run the server logic.

  • Package Manager: Either uv (recommended for speed) or pipx.

    • To install uv on Windows: powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

    • To install uv on macOS/Linux: curl -LsSf https://astral.sh/uv/install.sh | sh

Add one of the following to your MCP settings in Claude, Cursor, or Windsurf.

Using uvx (Fastest):

{
  "mcpServers": {
    "squadco-docs": {
      "command": "uvx",
      "args": ["squadco-mcp"]
    }
  }
}

Using pipx:

{
  "mcpServers": {
    "squadco-docs": {
      "command": "pipx",
      "args": ["run", "squadco-mcp"]
    }
  }
}

3. Client-Specific Instructions

Claude Desktop

  1. Open the configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

    • Windows: %APPDATA%\Claude\claude_desktop_config.json

  2. Add the squadco-docs entry provided above.

  3. Restart Claude Desktop completely.

Cursor

  1. Open Cursor Settings > Features > MCP Servers.

  2. Click + Add New MCP Server.

  3. Name: squadco-docs

  4. Type: command

  5. Command: uvx squadco-mcp (If not found, use the absolute path to uvx).

Windsurf (by Codeium)

  1. Add the configuration to your mcpServers object in settings.json.

  2. Windows Location: %APPDATA%\Windsurf\User\settings.json


MCP Configuration Reference

Client

MCP Integration Method

squadco-mcp Configuration

Claude Desktop

JSON-RPC over stdio

Add to mcpServers in claude_desktop_config.json

Cursor

Native MCP UI

Use uvx squadco-mcp as the command

Windsurf

Cascade MCP

Add to mcpServers in settings.json

VS Code

Workspace MCP

Add to .vscode/mcp.json

Claude Code

CLI MCP Manager

Run claude mcp add squadco-mcp -- uvx squadco-mcp


Troubleshooting Tips

  • Command Not Found: If your client says uvx or pipx is not found, it is likely because the installation directory is not in your system's PATH.

    • Windows Fix: Restart your PC or use the absolute path to the executable (e.g., C:\Users\YourName\.local\bin\uvx.exe).

  • Restart Required: Most desktop clients (Claude, Cursor) require a full restart (not just closing the window) to pick up changes made to JSON configuration files or the system PATH.

  • Python Version: Ensure you are using Python 3.10 or higher. You can check this by running python --version in your terminal.

  • Connection Errors: If the server fails to connect, check the developer console in your client (usually Ctrl+Shift+I) for specific JSON-RPC errors.


Technical Details

The SquadCo MCP Server uses CiteKit (by @abdushakurob) to provide high-fidelity documentation access to AI agents.

Unlike standard RAG (Retrieval-Augmented Generation) which uses vector-based similarity, this server employs a structural mapping approach:

  • Pre-computed Mapping: Documentation is analyzed during ingestion to create a structural index of all API endpoints, parameters, and code blocks.

  • Deterministic Resolution: The AI assistant identifies the specific node it needs from the map and resolves the content locally from the bundled markdown files.

  • Precision Context: By resolving exact sections rather than chunked text, the server ensures the AI receives clean, relevant context without noise.

Stack:


Available Tools

4 tools
get_doc_structureB

Get the structure/nodes of a specific document. Use this to see what sections are available before resolving.

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description bears full responsibility. It implies a read operation but does not explicitly state it is read-only, non-destructive, or discuss error conditions, permissions, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two concise sentences, front-loaded with the action and purpose. Every sentence earns its place with no waste.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description need not detail return values. However, it lacks parameter guidance and behavioral details, making it minimally adequate for a simple tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters1/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, and the description does not explain the 'doc_id' parameter (e.g., format, source, or how to obtain it). It adds no meaning beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get the structure/nodes') and the specific resource ('a specific document'). It distinguishes from siblings by mentioning 'before resolving', which differentiates from 'resolve_section' and others.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context: 'Use this to see what sections are available before resolving.' It implies temporal usage but does not explicitly exclude other contexts or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_docsA

List all available SquadCo API documentation files.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but only says 'list all available...'. It does not disclose side effects, authentication needs, rate limits, or behavior like whether listing respects workspace boundaries. Minimal transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that is direct and front-loaded with the core action. No extraneous words or structure issues.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with no parameters and an existing output schema, the description is adequate but not thorough. It does not mention authentication, output format preview, or any usage context like whether it requires a connection.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has zero parameters, so schema coverage is 100%. The description could still mention that no arguments are needed, but the absence is not a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'list' and the resource 'all available SquadCo API documentation files', distinguishing it from sibling tools like get_doc_structure or search_docs, which imply specific retrieval or search operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool over alternatives or any exclusions. It simply states what it does, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resolve_sectionA

Fetch the full content of a specific documentation section. Provide the doc_id (e.g. 'payments') and the section_id (e.g. 'standard-test-cards').

ParametersJSON Schema
NameRequiredDescriptionDefault
doc_idYes
section_idYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states 'Fetch the full content', indicating a read operation, but lacks details on authentication, rate limits, or error handling. Since an output schema exists, return values may be defined there, but additional behavioral context is missing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no extraneous information. It is front-loaded with the purpose and immediately provides parameter guidance. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with an output schema, the description is minimally adequate. It explains what the tool does and how to use the parameters, but it could be more complete by addressing potential issues like section not found or required permissions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0% description coverage, so the description must compensate. It provides concrete examples for doc_id ('payments') and section_id ('standard-test-cards'), adding meaning beyond names and types. However, it does not explain format constraints or possible values beyond examples.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Fetch the full content of a specific documentation section', using a specific verb and resource. Sibling tools (get_doc_structure, list_docs, search_docs) have distinct purposes, making this tool's role unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description tells the user to provide doc_id and section_id with examples, implying when to use this tool. However, it does not explicitly state when not to use it or mention alternatives like search_docs for finding sections.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_docsB

Search for documentation sections by title or summary. Use this when you aren't sure where a specific feature (e.g. "AES encryption") is documented.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must disclose behavior. It only mentions searching by title or summary, lacking details on pagination, access restrictions, or result format. This is minimal for a search tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences: first sentence states the action and resource, second adds usage context with an example. No redundant words, efficiently front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple search tool with one parameter, the description covers basic purpose and usage context. However, lack of behavioral details limits completeness for autonomous agent invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must clarify the parameter. It implies the 'query' parameter searches title and summary fields, but does not specify format, length, or allowed values. Insufficient compensation for schema gaps.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for documentation sections by title or summary, with an example ('AES encryption'). However, it does not explicitly differentiate from sibling tools like get_doc_structure or list_docs, leaving some ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a use case: 'Use this when you aren't sure where a specific feature is documented.' This gives clear context for when to use, but does not explicitly state when not to use or mention alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.1
    • First observedget_doc_structure
    • First observedlist_docs
    • First observedresolve_section
    • First observedsearch_docs

TDQS

A3.7/5.0

Scored across 4 tools

Disambiguation5/5

Each tool has a distinct role: listing all docs, getting a doc's structure, fetching a section's content, and searching by title/summary. No overlap in purpose.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (list_docs, get_doc_structure, resolve_section, search_docs), making them predictable and easy to understand.

Tool Count4/5

With 4 tools, the surface is concise. It covers the essential documentation tasks (list, search, browse structure, fetch content) without being too sparse or overengineered.

Completeness4/5

The tool set covers navigation and retrieval of documentation. A minor gap is the lack of a tool to fetch an entire document in one call, but this can be worked around by iterating sections.

Related MCP Connectors

Related MCP Servers