HTTP Streamable HTTP AUTH API key and OAuth DIR Connector review ready

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

Quickstart

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.

POST /mcp

Required headers

Accept application/json, text/event-stream

Required by Streamable HTTP clients and reviewers.

Content-Type application/json

All MCP requests use JSON-RPC request bodies.

Authorization Bearer token

Use a Majir API key for catalog tools or an OAuth token for personal wallet tools.

cURL
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.

API key

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.

OAuth

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.

Protected resource
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.

Server name

Majir Offers

Suggested tagline

Find and redeem your best available deals.

Suggested categories

Shopping, productivity, personal finance.

Documentation URL

https://developers.majir.shop/mcp

OpenAI app verification path

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.

  1. Fetch protected-resource metadata from /.well-known/oauth-protected-resource/mcp.
  2. Fetch OAuth authorization-server metadata from /.well-known/oauth-authorization-server.
  3. For OpenAI app submission, verify /.well-known/openai-apps-challenge only after Majir has privately configured the platform-provided verification value.
  4. Run initialize, send notifications/initialized after the successful initialize response, then run tools/list with the required Streamable HTTP headers.
  5. Verify all seven tools have accurate titles, descriptions, and read/write annotations.
  6. Run global tools with an API key and personal wallet tools with the reviewer OAuth account.
  7. Keep /register unavailable unless Dynamic Client Registration is intentionally enabled for a platform review.
Lifecycle
initialize
notifications/initialized
tools/list

headers:
  Accept: application/json, text/event-stream
  Content-Type: application/json