MCP Connector
Connect AI assistants to Majir offers through the hosted Model Context Protocol server. Endpoint: https://mcp.majir.shop/mcp
Connection Details
Use the global catalog tools with a Majir API key, and use OAuth to let signed-in users search and redeem their own inbox and wallet offers.
MCP URL
https://mcp.majir.shop/mcp
Transport
Stateless Streamable HTTP
Resource
https://mcp.majir.shop/mcp
Support
hello@majir.shopQuickstart
MCP clients must send both JSON and event-stream accept headers for Streamable HTTP compatibility. GET /mcp intentionally returns 405; use JSON-RPC POST requests.
/mcp
Required headers
Required by Streamable HTTP clients and reviewers.
All MCP requests use JSON-RPC request bodies.
Use a Majir API key for catalog tools or an OAuth token for personal wallet tools.
curl https://mcp.majir.shop/mcp \
-H 'Accept: application/json, text/event-stream' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_MAJIR_API_KEY' \
--data '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-11-25","capabilities":{},"clientInfo":{"name":"example","version":"1.0.0"}}}'
Authentication
Majir separates the public affiliate catalog from a signed-in user's personal inbox and wallet offers.
Global catalog tools
Use a Majir API key in Authorization: Bearer. These tools search the public/affiliate catalog and never search a user's inbox.
Personal wallet tools
Use OAuth to let a signed-in user search only their own Majir inbox and wallet offers. Tokens are scoped to the MCP resource https://mcp.majir.shop/mcp.
Dynamic Client Registration is disabled by default and is enabled only when a connector review path explicitly requires it.
GET https://mcp.majir.shop/.well-known/oauth-protected-resource/mcp resource: https://mcp.majir.shop/mcp authorization_servers: - https://mcp.majir.shop/
Tool Surface
All tools should present accurate titles, descriptions, and read/write annotations during connector review.
| Tool | Auth | Annotation | Use when |
|---|---|---|---|
search_offers |
API key | Read-only | Search global catalog deals, promo codes, cashback, discounts, or better prices. |
get_offer |
API key | Read-only | Get details for one global catalog offer returned by search. |
redeem_offer |
API key | Idempotent write | Return a Majir-tracked redemption URL or code for a selected global offer. |
list_my_offers |
OAuth | Read-only | List the signed-in user's saved offers, credits, gift cards, or expiring deals. |
search_my_offers |
OAuth | Read-only | Search only the signed-in user's Majir inbox and wallet offers. |
get_my_offer |
OAuth | Read-only | Get details for one personal wallet offer. |
redeem_my_offer |
OAuth | Idempotent write | Return a Majir-owned tracked redemption URL or code for a personal offer. |
Directory Submission Packet
Use these values in connector-directory review forms and keep credentials out of public docs, code, and pull request comments.
Majir Offers
Find and redeem your best available deals.
Shopping, productivity, personal finance.
https://developers.majir.shop/mcp
https://mcp.majir.shop/.well-known/openai-apps-challenge
The verification value is configured privately by Majir and is not published.
Privacy policy: https://majirshop.com/privacy
Icon: https://majirshop.com/images/majir-icon.png
Support: hello@majir.shop
Reviewer credentials must be provided out-of-band through the platform review portal or Majir's approved password manager.
Pre-submission Smoke Tests
Run this sequence before submitting the connector for review.
- Fetch protected-resource metadata from
/.well-known/oauth-protected-resource/mcp. - Fetch OAuth authorization-server metadata from
/.well-known/oauth-authorization-server. - For OpenAI app submission, verify
/.well-known/openai-apps-challengeonly after Majir has privately configured the platform-provided verification value. - Run
initialize, sendnotifications/initializedafter the successful initialize response, then runtools/listwith the required Streamable HTTP headers. - Verify all seven tools have accurate titles, descriptions, and read/write annotations.
- Run global tools with an API key and personal wallet tools with the reviewer OAuth account.
- Keep
/registerunavailable unless Dynamic Client Registration is intentionally enabled for a platform review.
initialize notifications/initialized tools/list headers: Accept: application/json, text/event-stream Content-Type: application/json