> For the complete documentation index, see [llms.txt](https://docs.trover.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trover.tech/engineering/chatgpt-mcp-submission.md).

# ChatGPT customer MCP and directory readiness

Submission name: **Trover**

Remote MCP URL:

```
https://api.trover.tech/mcp
```

Category: finance / blockchain account tools

Short description:

> Inspect a customer's Trover account and prepare policy-checked Robinhood Chain trades, bridges, transfers, and token launches.

Long description:

> Trover connects an authenticated customer to account, portfolio, balance, transaction, token, contract, market, stock, claims, and fee-revenue tools. Eligible delegated actions may execute after Trover's simulation, policy, limits, and approval checks. Confirmation-enabled or non-delegated wallets receive an explicit browser signing handoff bound to the exact wallet.

## Review readiness

* Streamable HTTP transport is hosted at the submitted URL.
* OAuth 2.1 authorization code with PKCE `S256` is mandatory.
* Protected-resource and authorization-server metadata are public.
* Dynamic client registration and ChatGPT HTTPS client metadata are supported.
* Runtime resource, subject, expiry, client, audience, and scope checks are server-enforced.
* Transaction tools are marked destructive/sensitive and require stable client request IDs.
* Read and write tools are separated by least-privilege scopes.
* Signing links do not confer authority and expire after 15 minutes.
* No arbitrary calldata or wallet/profile ID is accepted from the model.
* Privacy policy: `https://trover.tech/legal/privacy`
* Terms: `https://trover.tech/legal/terms`
* Risk disclaimer: `https://trover.tech/legal/disclaimer`

## Customer connection

The full endpoint is suitable for direct remote-MCP clients and ChatGPT developer mode. Set `MCP_DELEGATED_TRADING_ENABLED=false` when an operator wants to force all MCP actions through authenticated signing handoffs; otherwise MCP inherits the same delegated-wallet and confirmation policy as web and X.

## Public directory boundary

Do not submit this full endpoint to the OpenAI Plugins Directory. Current OpenAI plugin guidelines prohibit execution of money transfers, crypto transfers, and investment trades. A directory submission requires a separate read-only MCP contract that omits `trade`, `bridge`, `transfer`, and `token_launch`.

Before customer testing, deploy the database migration and all three services, enable the MCP and signing flags in a small-value dry-run environment, run the prompts in [test-prompts.md](/engineering/chatgpt-mcp-submission/test-prompts.md), and verify the public metadata URLs.

For a future read-only directory submission, the operator needs a global-data residency OpenAI Platform project, a verified developer or business identity, and a role with **Apps Management: Write**. Submission happens through `https://platform.openai.com/plugins`.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.trover.tech/engineering/chatgpt-mcp-submission.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
