{"name":"L3 Core MCP","protocol":"mcp","standard":"Model Context Protocol","specification":"https://modelcontextprotocol.io/specification/2026-07-28","protocolVersion":"2026-07-28","supportedProtocolVersions":["2026-07-28","2025-03-26"],"transport":"streamable-http","authentication":"none","endpoint":"/","instructions_directory":"instructions","sections":["company","sandbox-api","pay-out"],"resources":["mcp://instructions/contacts","mcp://instructions/index","mcp://instructions/payout","mcp://instructions/products","mcp://instructions/sandbox/authentication","mcp://instructions/sandbox/call-flow","mcp://instructions/sandbox/configuration","mcp://instructions/sandbox/fraud","mcp://instructions/sandbox/getting-started","mcp://instructions/sandbox/mock-app","mcp://instructions/sandbox/sandbox-to-production","mcp://instructions/sandbox/sdk","mcp://instructions/sandbox/ui-flow","mcp://instructions/start"],"tools":["list_sections","list_products","get_contacts","sandbox_get_started","sandbox_get_configuration","sandbox_list_flow_steps","sandbox_get_next_step","sandbox_create_mock","sandbox_get_ui_flow","sandbox_get_endpoint","sandbox_create_payment_token","sandbox_check_fraud","sandbox_send_otp","sandbox_verify_otp","sandbox_lookup_customer","sandbox_connect_bank","sandbox_set_default_linked_account","sandbox_save_bank_account","sandbox_bank_account_exists","sandbox_list_bank_accounts","sandbox_get_payment_details","sandbox_submit_payment","payout_get_started"],"instructions":"# Start here\n\nYou are connected to the L3 Core MCP at `mcp.l3payments.com`. This connection needs no authentication. This server will grow. Knowledge and commands are grouped into sections. The API sandbox is one section.\n\n## Protocol\n\nThis server follows the [Model Context Protocol](https://modelcontextprotocol.io/specification/2026-07-28) specification, revision `2026-07-28`. The client URL is `https://mcp.l3payments.com`. The transport is Streamable HTTP: `POST /`. A browser `GET /` receives the page. Current clients send `MCP-Protocol-Version: 2026-07-28` and can call `server/discover` for the supported revisions, capabilities, and this briefing. This server also accepts the legacy handshake used by revisions `2024-11-05` through `2025-11-25`. Those clients may send `MCP-Protocol-Version` without `_meta`. `GET` with `Accept: text/event-stream` and no protocol header is the older HTTP+SSE transport. `POST /mcp` accepts the same calls.\n\n## What this is\n\nThis is L3's core MCP server. It is not the payment API. Company contacts live in the `company` section. Pay-In, technical label `pay-in`, accepts ACH as a payment method. That process is Pay by Bank, and its sandbox is ready in the `sandbox-api` section. Checkout commands call `https://sandbox-api.l3payments.com`. Pay-Out, technical label `pay-out`, sends ACH payouts to contractors via Pay by Bank. Its sandbox is coming soon. `payout_get_started` returns a preliminary mock, and those calls are not live.\n\n## Why it is here\n\nA merchant connects their AI here for L3 guidance. Today that is who to contact at L3, how to run the Pay-In sandbox, and the preliminary Pay-Out mock.\n\n## Contacts\n\nCall `get_contacts` for the structured list. Read `mcp://instructions/contacts`.\n\n- `compliance@l3payments.com` — compliance questions, including regulatory requests and merchant compliance reviews.\n- `security@l3payments.com` — security reports, including vulnerabilities and suspected security incidents.\n- `support@l3payments.com` — general merchant and customer support when the question is not a technical integration issue.\n- `techsupport@l3payments.com` — technical support. This address issues the sandbox token used to create payment tokens.\n\n## On the first message\n\nTell the merchant what is available before writing code. Call `list_products`. Say each product, its commands, and its install options.\n\n- Pay-In, technical label `pay-in`, is sandbox ready. It accepts ACH. Two install options:\n  - SDK. Call `sandbox_get_started` and follow `sdk`. The server creates a payment token with `sandbox_create_payment_token`. The page includes the Payment UI JavaScript and passes that token. Then configure webhooks.\n  - API. Call `sandbox_get_started` and follow `api`. Then `sandbox_get_configuration` and `sandbox_get_next_step` for each call.\n- Pay-Out, technical label `pay-out`, is coming soon. The only command is `payout_get_started`. Those steps are a mock and are not live.\n- Contacts. Call `get_contacts` when they ask who to reach at L3.\n\nIf the task is Pay-In and they have not chosen SDK or API, ask before writing code. The sandbox token comes from `techsupport@l3payments.com` and is sent as `Authorization: ApiKey <token>` on `POST /api/payments/token`.\n\nWhen the task is Pay-Out, call `payout_get_started` and follow that mock. It creates a payment token, then sends the routing number, account number, first name, last name, email, and phone. Say that the sandbox is not live yet.\n\nWhen the developer wants a working mock, call `sandbox_create_mock` before writing files. If they did not name a language, ask, then call it again with `language`. Follow `mcp://instructions/sandbox/mock-app`. The schema from that command is what the buttons do.\n\n## Pay-In sandbox\n\nPay by Bank is the Pay-In product. Technical label: `pay-in`. The simulator is `https://sandbox-api.l3payments.com`. `sandbox-api.l3payments.com/mcp` redirects to this MCP. The sandbox is the self-contained simulator: no database, no SMS, and no bank-login session. It does not call production.\n\n## Pay-Out\n\nPay-Out, technical label `pay-out`, sends ACH payouts to contractors via Pay by Bank. The sandbox is coming soon. Read `mcp://instructions/payout` and call `payout_get_started` for the preliminary mock.\n\nRead `mcp://instructions/sandbox/getting-started` before the first sandbox call. Then call `sandbox_get_configuration` and `sandbox_get_next_step`. When a developer asks how a call works, call `sandbox_get_endpoint` with that step id. It returns the request schema, response schema, and status codes. When a developer wants a working mock, call `sandbox_create_mock` and follow `mcp://instructions/sandbox/mock-app`. The mock is generated in the language they choose, from the schema, and it calls `https://sandbox-api.l3payments.com`."}