squadco-mcp 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. squadco_mcp-0.1.0/.citekit_output/Payments_Initiate-payment_Initiate_Payment_API_Initiate_cURL_Example_lines_52-63.md +12 -0
  2. squadco_mcp-0.1.0/.citekit_output/Payments_Initiate-payment_Initiate_Payment_API_Initiate_lines_48-50.md +3 -0
  3. squadco_mcp-0.1.0/.citekit_output/Payments_Initiate-payment_Simulate_Test_Payment_Transfer_API_Simulate_Payment_lines_158-160.md +3 -0
  4. squadco_mcp-0.1.0/.citekit_output/Payments_test-cards_TestCards_lines_32-38.md +4 -0
  5. squadco_mcp-0.1.0/.citekit_output/Transfer-API_transfer-apis_TransferAPI_FundTransfer_Parameters_lines_439-457.md +19 -0
  6. squadco_mcp-0.1.0/.citekit_output/Transfer-API_transfer-apis_TransferAPI_FundTransfer_SampleRequest_lines_458-467.md +10 -0
  7. squadco_mcp-0.1.0/.citekit_output/Transfer-API_transfer-apis_TransferAPI_FundTransfer_lines_414-497.md +84 -0
  8. squadco_mcp-0.1.0/.citekit_output/Transfer-API_transfer-apis_TransferAPI_lines_29-36.md +8 -0
  9. squadco_mcp-0.1.0/.citekit_output/index_GettingStarted_BeforeYouBegin_lines_35-39.md +3 -0
  10. squadco_mcp-0.1.0/.citekit_output/index_GettingStarted_lines_25-33.md +9 -0
  11. squadco_mcp-0.1.0/.citekit_output/index_WelcomeToSquadDocumentation_lines_21-23.md +3 -0
  12. squadco_mcp-0.1.0/.citekit_output/webhook-direct-url_webhook-and-direct-url_WebhookRedirectURL_SampleWebhookCard_lines_68-89.md +22 -0
  13. squadco_mcp-0.1.0/.citekit_output/webhook-direct-url_webhook-and-direct-url_WebhookRedirectURL_WebhookIsPostRequest_Parameters_lines_52-65.md +14 -0
  14. squadco_mcp-0.1.0/.citekit_output/webhook-direct-url_webhook-and-direct-url_WebhookRedirectURL_WebhookValidation_lines_47-48.md +2 -0
  15. squadco_mcp-0.1.0/.citekit_output/webhook-direct-url_webhook-and-direct-url_WebhookRedirectURL_lines_28-44.md +17 -0
  16. squadco_mcp-0.1.0/.gitignore +7 -0
  17. squadco_mcp-0.1.0/PKG-INFO +158 -0
  18. squadco_mcp-0.1.0/README.md +149 -0
  19. squadco_mcp-0.1.0/crawl.py +50 -0
  20. squadco_mcp-0.1.0/ingest.py +32 -0
  21. squadco_mcp-0.1.0/pyproject.toml +24 -0
  22. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Others_disputes-chargebacks.json +165 -0
  23. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Others_refund-api.json +127 -0
  24. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_Initiate-payment.json +944 -0
  25. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_aggregator-and-sub-merchants.json +70 -0
  26. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_direct-api-integration.json +165 -0
  27. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_direct-debit.json +450 -0
  28. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_overview.json +127 -0
  29. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_pos-payment.json +260 -0
  30. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_squad-payment-modal.json +355 -0
  31. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_squad-woo-squad-plugin.json +146 -0
  32. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_test-cards.json +32 -0
  33. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Payments_verify-transaction.json +279 -0
  34. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Transfer-API_ledger-balance.json +222 -0
  35. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Transfer-API_transfer-apis.json +431 -0
  36. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Value-added-services_SMS_bucket.json +184 -0
  37. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Value-added-services_vas.json +222 -0
  38. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Virtual-accounts_api-specifications.json +1381 -0
  39. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Virtual-accounts_dynamic-virtual-account-v2.json +393 -0
  40. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Virtual-accounts_encryption-decryption.json +374 -0
  41. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/Virtual-accounts_virtual-account.json +51 -0
  42. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/index.json +70 -0
  43. squadco_mcp-0.1.0/src/squadco_mcp/.resource_maps/webhook-direct-url_webhook-and-direct-url.json +203 -0
  44. squadco_mcp-0.1.0/src/squadco_mcp/__init__.py +0 -0
  45. squadco_mcp-0.1.0/src/squadco_mcp/docs/Others_disputes-chargebacks.md +105 -0
  46. squadco_mcp-0.1.0/src/squadco_mcp/docs/Others_refund-api.md +115 -0
  47. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_Initiate-payment.md +541 -0
  48. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_aggregator-and-sub-merchants.md +118 -0
  49. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_direct-api-integration.md +670 -0
  50. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_direct-debit.md +578 -0
  51. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_overview.md +50 -0
  52. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_pos-payment.md +314 -0
  53. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_squad-payment-modal.md +243 -0
  54. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_squad-woo-squad-plugin.md +82 -0
  55. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_test-cards.md +35 -0
  56. squadco_mcp-0.1.0/src/squadco_mcp/docs/Payments_verify-transaction.md +129 -0
  57. squadco_mcp-0.1.0/src/squadco_mcp/docs/Transfer-API_ledger-balance.md +83 -0
  58. squadco_mcp-0.1.0/src/squadco_mcp/docs/Transfer-API_transfer-apis.md +899 -0
  59. squadco_mcp-0.1.0/src/squadco_mcp/docs/Value-added-services_SMS_bucket.md +179 -0
  60. squadco_mcp-0.1.0/src/squadco_mcp/docs/Value-added-services_vas.md +414 -0
  61. squadco_mcp-0.1.0/src/squadco_mcp/docs/Virtual-accounts_api-specifications.md +1637 -0
  62. squadco_mcp-0.1.0/src/squadco_mcp/docs/Virtual-accounts_dynamic-virtual-account-v2.md +672 -0
  63. squadco_mcp-0.1.0/src/squadco_mcp/docs/Virtual-accounts_encryption-decryption.md +221 -0
  64. squadco_mcp-0.1.0/src/squadco_mcp/docs/Virtual-accounts_virtual-account.md +47 -0
  65. squadco_mcp-0.1.0/src/squadco_mcp/docs/index.md +37 -0
  66. squadco_mcp-0.1.0/src/squadco_mcp/docs/webhook-direct-url_webhook-and-direct-url.md +209 -0
  67. squadco_mcp-0.1.0/src/squadco_mcp/server.py +89 -0
@@ -0,0 +1,12 @@
1
+ curl --location 'https://sandbox-api.squadco.com/transaction/initiate'
2
+ --header 'Authorization: 47M3DMZD'
3
+ --header 'Content-Type: application/json'
4
+ --data-raw '{
5
+ "amount":_ ,
6
+ "email":_ ,
7
+ "key":_ ,
8
+ "currency":"NGN",
9
+ "initiate_type": "inline",
10
+ "CallBack_URL" : "https://www.linkedin.com/",
11
+ }
12
+
@@ -0,0 +1,4 @@
1
+ ![](https://res.cloudinary.com/delflsgq4/image/upload/v1/squad-docs/frontCard?_a=DAJFJtWIZAA0)Copy card number
2
+ ![](https://res.cloudinary.com/delflsgq4/image/upload/v1/squad-docs/backCard?_a=DAJFJtWIZAA0)
3
+ [](https://github.com/HabariPay/habaripay.github.io/tree/main/docs/Payments/test-cards.mdx)
4
+ [Previous Squad Payment Modal](https://docs.squadco.com/Payments/squad-payment-modal)[Next Direct API Integration](https://docs.squadco.com/Payments/direct-api-integration)
@@ -0,0 +1,19 @@
1
+ 090570 Iyamoye Microfinance Bank
2
+ 090571 Ilaro Poly Microfinance Bank
3
+ 090572 EWT Microfinance Bank
4
+ 090573 Snow MFB
5
+ 090575 First Midas Microfinance Bank
6
+ 090576 Octopus Microfinance Bank
7
+ 090579 Gbede Microfinance Bank
8
+ 090580 Otech Microfinance Bank
9
+ 090583 Stateside Microfinance Bank
10
+ 090574 GOLDMAN MFB
11
+ 090535 Nkpolu-Ust MFB
12
+ 090578 Iwade MFB Ltd
13
+ 090587 Microbiz MFB
14
+ 090588 Orisun MFB
15
+ 090589 Mercury MFB
16
+ 090591 Gabsyn Microfinance Bank Limited
17
+ 090593 Tasued Microfinance Bank
18
+ 090602 Kenechukwu Microfinance Bank
19
+ 090950 Waya Microfinance Bank
@@ -0,0 +1,10 @@
1
+ 090598 IBA Microfinance Bank
2
+ 090584 Island Microfinance Bank
3
+ 090600 Ave Maria Microfinance Bank
4
+ 090608 Akpo Microfinance Bank
5
+ 090609 Ummah Microfinance Bank
6
+ 090610 Amoye Microfinance Bank
7
+ 090612 Medef Microfinance Bank
8
+ 090532 IBOLO Microfinance Bank
9
+ 090581 Banc Corp MFB
10
+ 090614 Flourish MFB
@@ -0,0 +1,84 @@
1
+ 090544 Aspire Microfinance Bank
2
+ 090545 Abulesoro Microfinance Bank
3
+ 090546 Ijebu-Ife Microfinance Bank
4
+ 090547 Rockshield Microfinance Bank
5
+ 090548 Ally Microfinance Bank
6
+ 090549 KC Microfinance Bank
7
+ 090550 Green Energy Microfinance Bank
8
+ 090551 FairMoney Microfinance Bank
9
+ 090553 Consistent Trust Microfinance Bank
10
+ 090554 Kayvee Microfinance Bank
11
+ 090555 BishopGate Microfinance Bank
12
+ 090556 Egwafin Microfinance Bank
13
+ 090557 Lifegate Microfinance Bank
14
+ 090558 Shongom Microfinance Bank
15
+ 090559 Shield Microfinance Bank
16
+ 090560 Tanadi Microfinance Bank
17
+ 090561 Akuchuckwu Microfinance Bank
18
+ 090562 Cedar Microfinance Bank
19
+ 090563 Balera Microfinance Bank
20
+ 090564 Supreme Microfinance Bank
21
+ 090565 Oke-Aro Oredegbe Microfinance Bank
22
+ 090566 Okuku Microfinance Bank
23
+ 090567 Orokam Microfinance Bank
24
+ 090568 Broadview Microfinance Bank
25
+ 090569 Qube Microfinance Bank
26
+ 090570 Iyamoye Microfinance Bank
27
+ 090571 Ilaro Poly Microfinance Bank
28
+ 090572 EWT Microfinance Bank
29
+ 090573 Snow MFB
30
+ 090575 First Midas Microfinance Bank
31
+ 090576 Octopus Microfinance Bank
32
+ 090579 Gbede Microfinance Bank
33
+ 090580 Otech Microfinance Bank
34
+ 090583 Stateside Microfinance Bank
35
+ 090574 GOLDMAN MFB
36
+ 090535 Nkpolu-Ust MFB
37
+ 090578 Iwade MFB Ltd
38
+ 090587 Microbiz MFB
39
+ 090588 Orisun MFB
40
+ 090589 Mercury MFB
41
+ 090591 Gabsyn Microfinance Bank Limited
42
+ 090593 Tasued Microfinance Bank
43
+ 090602 Kenechukwu Microfinance Bank
44
+ 090950 Waya Microfinance Bank
45
+ 090598 IBA Microfinance Bank
46
+ 090584 Island Microfinance Bank
47
+ 090600 Ave Maria Microfinance Bank
48
+ 090608 Akpo Microfinance Bank
49
+ 090609 Ummah Microfinance Bank
50
+ 090610 Amoye Microfinance Bank
51
+ 090612 Medef Microfinance Bank
52
+ 090532 IBOLO Microfinance Bank
53
+ 090581 Banc Corp MFB
54
+ 090614 Flourish MFB
55
+ 090615 Beststar MFB
56
+ 090616 Rayyan MFB
57
+ 090603 Macrod MFB
58
+ 090634 Cashbridge Microfinance Bank
59
+ 090620 Iyin Ekiti MFB
60
+ 090611 Creditville MFB
61
+ 090623 MAB Allianz MFB
62
+ 100001 FET
63
+ 100002 Paga
64
+ 100003 Parkway-ReadyCash
65
+ 100004 Opay Digital Services LTD
66
+ 100005 Cellulant
67
+ 100006 eTranzact
68
+ 100007 Stanbic IBTC @ease wallet
69
+ 100008 Ecobank Xpress Account
70
+ 100009 GTMobile
71
+ 100010 TeasyMobile
72
+ 100011 Mkudi
73
+ 100012 VTNetworks
74
+ 100013 AccessMobile
75
+ 100014 FBNMobile
76
+ 100036 Kegow (Chamsmobile)
77
+ 100016 FortisMobile
78
+ 100017 Hedonmark
79
+ 100018 ZenithMobile
80
+ 100019 Fidelity Mobile
81
+ 100020 MoneyBox
82
+ 100021 Eartholeum
83
+ 100022 GoMoney
84
+ 100023 TagPay
@@ -0,0 +1,8 @@
1
+ **Authorization** keys are to be passed via Headers as a Bearer token.
2
+ **Example:** Authorization: Bearer sandbox_sk_94f2b798466408ef4d19e848ee1a4d1a3e93f104046f
3
+ ### Account Lookup[​](https://docs.squadco.com/Transfer-API/transfer-apis/#account-lookup "Direct link to Account Lookup")
4
+ This API allows you lookup/confirm the account name of the recipient you intend to credit. This should be done before initiating the transfer.
5
+ POST
6
+ https://sandbox-api-d.squadco.com/payout/account/lookup
7
+ ### This API allows you confirm Account Name to be transferred to.
8
+ #### Parameters
@@ -0,0 +1,3 @@
1
+ * [Getting Started](https://docs.squadco.com/#getting-started)
2
+
3
+
@@ -0,0 +1,9 @@
1
+ #### Before You Begin[​](https://docs.squadco.com/#before-you-begin "Direct link to Before You Begin")
2
+ 1. Create a free Squad account [Here](https://dashboard.squadco.com/sign-up) (for Test, create a [Sandbox Account](https://sandbox.squadco.com/sign-up))
3
+ 2. Integrate Squad payment gateway.
4
+ 3. Test your integration using secret Keys on your Dashboard.
5
+ 4. Initiate payment and proceed to the checkout URL to complete payment.
6
+
7
+
8
+ ![](https://res.cloudinary.com/delflsgq4/image/upload/v1/squad-docs/demo?_a=DAJFJtWIZAA0)
9
+ [](https://github.com/HabariPay/habaripay.github.io/tree/main/docs/Home.mdx)
@@ -0,0 +1,3 @@
1
+ # Welcome to the Squad Documentation
2
+ ##### We're excited to introduce a payment feature that enables you to make and receive payments from any location across the globe! This means that, wherever your customers are, they will be able to make payments for your products and services successfully. This way, you can more reliably deliver value to your customers.[​](https://docs.squadco.com/#were-excited-to-introduce-a-payment-feature-that-enables-you-to-make-and-receive-payments-from-any-location-across-the-globe-this-means-that-wherever-your-customers-are-they-will-be-able-to-make-payments-for-your-products-and-services-successfully-this-way-you-can-more-reliably-deliver-value-to-your-customers "Direct link to We're excited to introduce a payment feature that enables you to make and receive payments from any location across the globe! This means that, wherever your customers are, they will be able to make payments for your products and services successfully. This way, you can more reliably deliver value to your customers.")
3
+ ### Getting Started[​](https://docs.squadco.com/#getting-started "Direct link to Getting Started")
@@ -0,0 +1,22 @@
1
+ "email": "williamudousoro@gmail.com",
2
+ "merchant_id": "SBBWRX1Z3S",
3
+ "currency": "NGN",
4
+ "transaction_type": "Card",
5
+ "merchant_amount": 10000,
6
+ "created_at": "2025-08-24T15:26:38.994",
7
+ "meta": {
8
+ "location": "gtbank test test"
9
+ },
10
+ "payment_information": {
11
+ "payment_type": "card",
12
+ "pan": "424242******4242|0825",
13
+ "card_type": "verve"
14
+ },
15
+ "is_recurring": false
16
+ }
17
+ }
18
+
19
+ ```
20
+
21
+ ### Sample Webhook for Transfers[​](https://docs.squadco.com/webhook-direct-url/webhook-and-direct-url/#sample-webhook-for-transfers "Direct link to Sample Webhook for Transfers")
22
+
@@ -0,0 +1,14 @@
1
+ JSON
2
+ application/json
3
+
4
+
5
+ Sample POST request to be sent via webhook upon successful transaction
6
+ ### Sample Webhook for Card Transactions[​](https://docs.squadco.com/webhook-direct-url/webhook-and-direct-url/#sample-webhook-for-card-transactions "Direct link to Sample Webhook for Card Transactions")
7
+
8
+ ```
9
+ {
10
+ "Event": "charge_successful",
11
+ "TransactionRef": "SQTEST6389164239897900003",
12
+ "Body": {
13
+ "amount": 10000,
14
+ "transaction_ref": "SQTEST6389164239897900003",
@@ -0,0 +1,17 @@
1
+ This can be set up on your Squad Dashboard by specifying a URL we would send POST requests to whenever a successful transaction occurs.
2
+ To process notifications, you need to:
3
+ Paste your redirect and **Callback/Webhook URL** in the space provided on your dashboard by following the steps below:
4
+ * Login to your Squad dashboard.
5
+ * Go to Profile > API & Webhook.
6
+ * In the Webhook URL field, enter your Notification URL.
7
+ * In the redirect URL field, enter your redirect URL- and on completion of payment, the customer will be redirected to the URL with the transaction reference passed as a query param.
8
+ * Enter a redirect URL for your customers to be redirected after they complete payment.
9
+
10
+
11
+ NB:The Redirect URL is optional.
12
+ **KINDLY ENSURE YOU HAVE A TRANSACTION REFERENCE CHECKER WHEN IMPLEMENTING WEBHOOKS TO AVOID GIVING DOUBLE VALUE ON TRANSACTIONS.**
13
+ Sending IP: 18.133.63.109
14
+ ### Webhook Validation[​](https://docs.squadco.com/webhook-direct-url/webhook-and-direct-url/#webhook-validation "Direct link to Webhook Validation")
15
+ To configure webhook notifications: go to **_dashboard > profile > Api & Webhooks._**
16
+ POST
17
+ https://api.gitbook.com/v1/users
@@ -0,0 +1,7 @@
1
+ venv/
2
+ .env
3
+ dist/
4
+ *.pyc
5
+ __pycache__/
6
+ .pytest_cache/
7
+ *.egg-info/
@@ -0,0 +1,158 @@
1
+ Metadata-Version: 2.4
2
+ Name: squadco-mcp
3
+ Version: 0.1.0
4
+ Summary: SquadCo API documentation as an MCP server
5
+ Requires-Python: >=3.10
6
+ Requires-Dist: citekit>=0.1.0
7
+ Requires-Dist: mcp[cli]>=1.2.0
8
+ Description-Content-Type: text/markdown
9
+
10
+ # SquadCo API Docs MCP Server
11
+
12
+ > **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.
13
+
14
+ The SquadCo MCP Server provides your AI coding assistant (Claude, Cursor, Windsurf, etc.) with direct, structured access to the full SquadCo API documentation.
15
+
16
+ Stop switching between your editor and the browser. Get precise API specs, validation logic, and code samples for SquadCo integrations directly in your chat.
17
+
18
+ ---
19
+
20
+ ## Key Features
21
+
22
+ - **Direct Knowledge**: Instant access to documentation for Payments, Transfers, Virtual Accounts, VAS, and Webhooks.
23
+ - **Accurate Specs**: Returns the exact technical markdown sections—no fuzzy hallucinations.
24
+ - **Developer Ready**: Full details on Sandbox environments, test cards, and security validation.
25
+ - **No Clone Needed**: Run directly using `uvx` or `pipx`.
26
+
27
+ ---
28
+
29
+ ## Capabilities
30
+
31
+ The MCP server covers the entire SquadCo ecosystem:
32
+
33
+ ### 1. Payments and Collections
34
+ * **Checkout Options**: Integration guides for the Squad Payment Modal (Inline), Redirect flows, and mobile-ready implementations.
35
+ * **Direct API**: Technical specs for server-to-server payment initiation and transaction verification.
36
+ * **Alternative Methods**: Documentation for POS Payment, Direct Debit, and E-commerce plugins (WooCommerce).
37
+ * **Testing**: A comprehensive list of test card numbers, expiry dates, and CVVs for sandbox testing.
38
+
39
+ ### 2. Transfers and Payouts
40
+ * **Fund Transfers**: How to move funds from your Squad Wallet to any bank account in Nigeria.
41
+ * **Account Lookup**: recipient name verification logic to ensure transaction accuracy.
42
+ * **Wallet Management**: Checking ledger balances and transaction history.
43
+ * **Bank Codes**: A complete, searchable list of all supported bank and microfinance codes.
44
+
45
+ ### 3. Virtual Accounts
46
+ * **Account Generation**: Creating dedicated virtual accounts for customers to receive automated bank transfers.
47
+ * **Dynamic V2**: Advanced specifications for high-frequency, dynamic account creation and management.
48
+ * **Metadata**: Attaching custom data to accounts for easier reconciliation.
49
+
50
+ ### 4. Value Added Services (VAS)
51
+ * **Airtime and Data**: API specs for selling mobile airtime and data bundles.
52
+ * **Bills Payment**: Integration for electricity bills and other utility services.
53
+ * **SMS Services**: Managing SMS buckets and automated messaging.
54
+
55
+ ### 5. Operations and Security
56
+ * **Webhooks**: Step-by-step setup for POST notifications, IP filtering, and signature verification.
57
+ * **Security**: Technical guides for HMAC-SHA512 validation and AES-256 encryption/decryption.
58
+ * **Management**: Detailed flows for Refunds, Disputes, and Chargebacks.
59
+
60
+ ### 6. Sandbox and Testing
61
+ * **Environment Setup**: Detailed information on using the `sandbox-api.squadco.com` endpoints.
62
+ * **Test Assets**: A full database of test card numbers, CVVs, and standard OTP codes for simulating successful and failed payments.
63
+ * **Transfer Simulation**: Specific API flows for simulating incoming bank transfers to virtual accounts in a test environment.
64
+
65
+ ---
66
+
67
+ ## Tools
68
+
69
+ | Tool | Purpose |
70
+ |---|---|
71
+ | `search_docs` | The main entry point. Search for any SquadCo feature (e.g., "AES encryption"). |
72
+ | `list_docs` | Browse all available API documentation files. |
73
+ | `get_doc_structure` | View the structural map of a specific document to find precise sections. |
74
+ | `resolve_section` | Fetch the full technical content, URLs, and code samples for a section. |
75
+
76
+ ---
77
+
78
+ ## Client Configuration Guide
79
+
80
+ Depending on your preferred AI assistant, the configuration process varies slightly. Below are the specific setup steps for the most common MCP-compatible clients.
81
+
82
+ ### 1. Claude Desktop
83
+ Claude Desktop looks for a central configuration file to load MCP servers.
84
+
85
+ **Config File Locations:**
86
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
87
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
88
+
89
+ **Setup:** Open the file and add the `squadco-docs` entry to the `mcpServers` object.
90
+ **Note:** In Claude Desktop, go to Settings > Developer > Edit Config to open this file directly.
91
+
92
+ ### 2. Cursor
93
+ Cursor provides a native UI for managing MCP servers, making it one of the easiest to configure.
94
+
95
+ 1. Open Cursor Settings (Gear icon in the top right).
96
+ 2. Navigate to Features (or Tools & Integrations).
97
+ 3. Scroll down to MCP Servers and click + Add New MCP Server.
98
+ 4. Set the type to `command` and paste the following:
99
+ - **Name**: `squadco-docs`
100
+ - **Command**: `uvx squadco-mcp` (or the absolute path to uvx).
101
+
102
+ ### 3. Windsurf (by Codeium)
103
+ Windsurf uses a `settings.json` file to manage its Cascade AI capabilities.
104
+
105
+ **Config File Locations:**
106
+ - **macOS**: `~/Library/Application Support/Windsurf/User/settings.json`
107
+ - **Windows**: `%APPDATA%\Windsurf\User\settings.json`
108
+
109
+ **Configuration:** Add the server under the `mcpServers` key. Windsurf also supports a simplified `serverUrl` if you are hosting the MCP server remotely.
110
+
111
+ ### 4. Visual Studio Code
112
+ For standard VS Code users, MCP support is typically handled via the MCP Client extension or workspace-specific configurations.
113
+
114
+ - **Workspace Config**: Create a `.vscode/mcp.json` file in your project root. This allows you to share the MCP server configuration with teammates who also use the repository.
115
+ - **Global Config**: Some extensions allow a global `mcp.json` in your user profile for tools you want available across all projects.
116
+
117
+ ### 5. Claude Code (CLI)
118
+ For users of the Claude CLI, you can add the server using the built-in add command:
119
+ `claude mcp add squadco-mcp -- uvx squadco-mcp`
120
+
121
+ ---
122
+
123
+ ## MCP Configuration Reference
124
+
125
+ | Client | MCP Integration Method | squadco-mcp Configuration |
126
+ |---|---|---|
127
+ | Claude Desktop | JSON-RPC over stdio | Add to `mcpServers` in `claude_desktop_config.json` |
128
+ | Cursor | Native MCP UI | Use `uvx squadco-mcp` as the command |
129
+ | Windsurf | Cascade MCP | Add to `mcpServers` in `settings.json` |
130
+ | VS Code | Workspace MCP | Add to `.vscode/mcp.json` |
131
+ | Claude Code | CLI MCP Manager | Run `claude mcp add squadco-mcp -- uvx squadco-mcp` |
132
+
133
+ ---
134
+
135
+ ## Troubleshooting Tips
136
+
137
+ - **Absolute Paths**: Some clients (especially Claude Desktop) have limited environment path access. If `uvx` or `pipx` isn't found, use the absolute path to the executable (e.g., `/usr/local/bin/uvx`).
138
+ - **Restart Required**: Most desktop clients require a full restart (not just closing the window) to pick up changes made directly to JSON configuration files.
139
+ - **Logs**: If the server fails to connect, check the developer console (usually Ctrl+Shift+I or Cmd+Option+I) for JSON-RPC connection errors.
140
+
141
+ ---
142
+
143
+ ## Technical Details
144
+
145
+ The SquadCo MCP Server uses [CiteKit](https://abdushakurob.github.io/citekit) to provide high-fidelity documentation access to AI agents.
146
+
147
+ Unlike standard RAG (Retrieval-Augmented Generation) which uses vector-based similarity, this server employs a structural mapping approach:
148
+
149
+ - **Pre-computed Mapping**: Documentation is analyzed during ingestion to create a structural index of all API endpoints, parameters, and code blocks.
150
+ - **Deterministic Resolution**: The AI assistant identifies the specific node it needs from the map and resolves the content locally from the bundled markdown files.
151
+ - **Precision Context**: By resolving exact sections rather than chunked text, the server ensures the AI receives clean, relevant context without noise.
152
+
153
+ **Stack:**
154
+ - **Core Engine**: [CiteKit](https://abdushakurob.github.io/citekit) (by [@abdushakurob](https://github.com/abdushakurob))
155
+ - **Scraper**: [crawl4ai](https://github.com/unclecode/crawl4ai)
156
+ - **Protocol**: [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
157
+
158
+ ---
@@ -0,0 +1,149 @@
1
+ # SquadCo API Docs MCP Server
2
+
3
+ > **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.
4
+
5
+ The SquadCo MCP Server provides your AI coding assistant (Claude, Cursor, Windsurf, etc.) with direct, structured access to the full SquadCo API documentation.
6
+
7
+ Stop switching between your editor and the browser. Get precise API specs, validation logic, and code samples for SquadCo integrations directly in your chat.
8
+
9
+ ---
10
+
11
+ ## Key Features
12
+
13
+ - **Direct Knowledge**: Instant access to documentation for Payments, Transfers, Virtual Accounts, VAS, and Webhooks.
14
+ - **Accurate Specs**: Returns the exact technical markdown sections—no fuzzy hallucinations.
15
+ - **Developer Ready**: Full details on Sandbox environments, test cards, and security validation.
16
+ - **No Clone Needed**: Run directly using `uvx` or `pipx`.
17
+
18
+ ---
19
+
20
+ ## Capabilities
21
+
22
+ The MCP server covers the entire SquadCo ecosystem:
23
+
24
+ ### 1. Payments and Collections
25
+ * **Checkout Options**: Integration guides for the Squad Payment Modal (Inline), Redirect flows, and mobile-ready implementations.
26
+ * **Direct API**: Technical specs for server-to-server payment initiation and transaction verification.
27
+ * **Alternative Methods**: Documentation for POS Payment, Direct Debit, and E-commerce plugins (WooCommerce).
28
+ * **Testing**: A comprehensive list of test card numbers, expiry dates, and CVVs for sandbox testing.
29
+
30
+ ### 2. Transfers and Payouts
31
+ * **Fund Transfers**: How to move funds from your Squad Wallet to any bank account in Nigeria.
32
+ * **Account Lookup**: recipient name verification logic to ensure transaction accuracy.
33
+ * **Wallet Management**: Checking ledger balances and transaction history.
34
+ * **Bank Codes**: A complete, searchable list of all supported bank and microfinance codes.
35
+
36
+ ### 3. Virtual Accounts
37
+ * **Account Generation**: Creating dedicated virtual accounts for customers to receive automated bank transfers.
38
+ * **Dynamic V2**: Advanced specifications for high-frequency, dynamic account creation and management.
39
+ * **Metadata**: Attaching custom data to accounts for easier reconciliation.
40
+
41
+ ### 4. Value Added Services (VAS)
42
+ * **Airtime and Data**: API specs for selling mobile airtime and data bundles.
43
+ * **Bills Payment**: Integration for electricity bills and other utility services.
44
+ * **SMS Services**: Managing SMS buckets and automated messaging.
45
+
46
+ ### 5. Operations and Security
47
+ * **Webhooks**: Step-by-step setup for POST notifications, IP filtering, and signature verification.
48
+ * **Security**: Technical guides for HMAC-SHA512 validation and AES-256 encryption/decryption.
49
+ * **Management**: Detailed flows for Refunds, Disputes, and Chargebacks.
50
+
51
+ ### 6. Sandbox and Testing
52
+ * **Environment Setup**: Detailed information on using the `sandbox-api.squadco.com` endpoints.
53
+ * **Test Assets**: A full database of test card numbers, CVVs, and standard OTP codes for simulating successful and failed payments.
54
+ * **Transfer Simulation**: Specific API flows for simulating incoming bank transfers to virtual accounts in a test environment.
55
+
56
+ ---
57
+
58
+ ## Tools
59
+
60
+ | Tool | Purpose |
61
+ |---|---|
62
+ | `search_docs` | The main entry point. Search for any SquadCo feature (e.g., "AES encryption"). |
63
+ | `list_docs` | Browse all available API documentation files. |
64
+ | `get_doc_structure` | View the structural map of a specific document to find precise sections. |
65
+ | `resolve_section` | Fetch the full technical content, URLs, and code samples for a section. |
66
+
67
+ ---
68
+
69
+ ## Client Configuration Guide
70
+
71
+ Depending on your preferred AI assistant, the configuration process varies slightly. Below are the specific setup steps for the most common MCP-compatible clients.
72
+
73
+ ### 1. Claude Desktop
74
+ Claude Desktop looks for a central configuration file to load MCP servers.
75
+
76
+ **Config File Locations:**
77
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
78
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
79
+
80
+ **Setup:** Open the file and add the `squadco-docs` entry to the `mcpServers` object.
81
+ **Note:** In Claude Desktop, go to Settings > Developer > Edit Config to open this file directly.
82
+
83
+ ### 2. Cursor
84
+ Cursor provides a native UI for managing MCP servers, making it one of the easiest to configure.
85
+
86
+ 1. Open Cursor Settings (Gear icon in the top right).
87
+ 2. Navigate to Features (or Tools & Integrations).
88
+ 3. Scroll down to MCP Servers and click + Add New MCP Server.
89
+ 4. Set the type to `command` and paste the following:
90
+ - **Name**: `squadco-docs`
91
+ - **Command**: `uvx squadco-mcp` (or the absolute path to uvx).
92
+
93
+ ### 3. Windsurf (by Codeium)
94
+ Windsurf uses a `settings.json` file to manage its Cascade AI capabilities.
95
+
96
+ **Config File Locations:**
97
+ - **macOS**: `~/Library/Application Support/Windsurf/User/settings.json`
98
+ - **Windows**: `%APPDATA%\Windsurf\User\settings.json`
99
+
100
+ **Configuration:** Add the server under the `mcpServers` key. Windsurf also supports a simplified `serverUrl` if you are hosting the MCP server remotely.
101
+
102
+ ### 4. Visual Studio Code
103
+ For standard VS Code users, MCP support is typically handled via the MCP Client extension or workspace-specific configurations.
104
+
105
+ - **Workspace Config**: Create a `.vscode/mcp.json` file in your project root. This allows you to share the MCP server configuration with teammates who also use the repository.
106
+ - **Global Config**: Some extensions allow a global `mcp.json` in your user profile for tools you want available across all projects.
107
+
108
+ ### 5. Claude Code (CLI)
109
+ For users of the Claude CLI, you can add the server using the built-in add command:
110
+ `claude mcp add squadco-mcp -- uvx squadco-mcp`
111
+
112
+ ---
113
+
114
+ ## MCP Configuration Reference
115
+
116
+ | Client | MCP Integration Method | squadco-mcp Configuration |
117
+ |---|---|---|
118
+ | Claude Desktop | JSON-RPC over stdio | Add to `mcpServers` in `claude_desktop_config.json` |
119
+ | Cursor | Native MCP UI | Use `uvx squadco-mcp` as the command |
120
+ | Windsurf | Cascade MCP | Add to `mcpServers` in `settings.json` |
121
+ | VS Code | Workspace MCP | Add to `.vscode/mcp.json` |
122
+ | Claude Code | CLI MCP Manager | Run `claude mcp add squadco-mcp -- uvx squadco-mcp` |
123
+
124
+ ---
125
+
126
+ ## Troubleshooting Tips
127
+
128
+ - **Absolute Paths**: Some clients (especially Claude Desktop) have limited environment path access. If `uvx` or `pipx` isn't found, use the absolute path to the executable (e.g., `/usr/local/bin/uvx`).
129
+ - **Restart Required**: Most desktop clients require a full restart (not just closing the window) to pick up changes made directly to JSON configuration files.
130
+ - **Logs**: If the server fails to connect, check the developer console (usually Ctrl+Shift+I or Cmd+Option+I) for JSON-RPC connection errors.
131
+
132
+ ---
133
+
134
+ ## Technical Details
135
+
136
+ The SquadCo MCP Server uses [CiteKit](https://abdushakurob.github.io/citekit) to provide high-fidelity documentation access to AI agents.
137
+
138
+ Unlike standard RAG (Retrieval-Augmented Generation) which uses vector-based similarity, this server employs a structural mapping approach:
139
+
140
+ - **Pre-computed Mapping**: Documentation is analyzed during ingestion to create a structural index of all API endpoints, parameters, and code blocks.
141
+ - **Deterministic Resolution**: The AI assistant identifies the specific node it needs from the map and resolves the content locally from the bundled markdown files.
142
+ - **Precision Context**: By resolving exact sections rather than chunked text, the server ensures the AI receives clean, relevant context without noise.
143
+
144
+ **Stack:**
145
+ - **Core Engine**: [CiteKit](https://abdushakurob.github.io/citekit) (by [@abdushakurob](https://github.com/abdushakurob))
146
+ - **Scraper**: [crawl4ai](https://github.com/unclecode/crawl4ai)
147
+ - **Protocol**: [Model Context Protocol (MCP)](https://modelcontextprotocol.io/)
148
+
149
+ ---
@@ -0,0 +1,50 @@
1
+ import asyncio
2
+ import os
3
+ from crawl4ai import AsyncWebCrawler, CrawlerRunConfig
4
+ from crawl4ai.deep_crawling import BFSDeepCrawlStrategy
5
+
6
+ async def crawl_squadco():
7
+ print("Starting crawl of SquadCo docs...")
8
+ os.makedirs("docs", exist_ok=True)
9
+
10
+ config = CrawlerRunConfig(
11
+ deep_crawl_strategy=BFSDeepCrawlStrategy(
12
+ max_depth=3,
13
+ include_external=False,
14
+ max_pages=100,
15
+ ),
16
+ verbose=True
17
+ )
18
+
19
+ async with AsyncWebCrawler() as crawler:
20
+ results = await crawler.arun(
21
+ url="https://docs.squadco.com",
22
+ config=config
23
+ )
24
+
25
+ print(f"\nCrawl complete! Found {len(results)} pages.")
26
+
27
+ for i, result in enumerate(results, 1):
28
+ if not result.success:
29
+ print(f"[{i}] Skipped (failed): {result.url}")
30
+ continue
31
+
32
+ slug = (
33
+ result.url
34
+ .replace("https://docs.squadco.com/", "")
35
+ .strip("/")
36
+ .replace("/", "_")
37
+ or "index"
38
+ )
39
+ filepath = f"docs/{slug}.md"
40
+
41
+ with open(filepath, "w", encoding="utf-8") as f:
42
+ f.write(f"# Source: {result.url}\n\n")
43
+ f.write(result.markdown or "")
44
+
45
+ print(f"[{i}/{len(results)}] Saved: {filepath}")
46
+
47
+ print("\nDone. All docs saved to 'docs/' directory.")
48
+
49
+ if __name__ == "__main__":
50
+ asyncio.run(crawl_squadco())
@@ -0,0 +1,32 @@
1
+ import asyncio
2
+ import os
3
+ from citekit import CiteKitClient
4
+ from citekit.mapper.gemini import GeminiMapper
5
+
6
+ mapper = GeminiMapper(model="gemini-2.5-flash", api_key=os.environ.get("GEMINI_API_KEY"))
7
+ client = CiteKitClient(mapper=mapper)
8
+
9
+ async def ingest_all():
10
+ docs_dir = "docs"
11
+ files = [f for f in os.listdir(docs_dir) if f.endswith(".md")]
12
+
13
+ print(f"Found {len(files)} files to ingest...\n")
14
+
15
+ for i, filename in enumerate(files, 1):
16
+ filepath = os.path.join(docs_dir, filename)
17
+ resource_id = filename.replace(".md", "")
18
+
19
+ print(f"[{i}/{len(files)}] Ingesting: {resource_id}")
20
+
21
+ try:
22
+ resource_map = await client.ingest(
23
+ resource_path=filepath,
24
+ resource_type="text",
25
+ resource_id=resource_id
26
+ )
27
+ print(f" ✓ {len(resource_map.nodes)} nodes found\n")
28
+ except Exception as e:
29
+ print(f" ✗ Failed: {e}\n")
30
+
31
+ if __name__ == "__main__":
32
+ asyncio.run(ingest_all())