MCP server
NETTS publishes its documentation as an MCP server, so an AI agent can search these docs and the API specification itself instead of guessing or being fed a 700 KB text dump.
https://doc.netts.io/mcpThe server is read-only. It knows nothing about your account, keys or balance — only what is published on this site.
A second, separate server is a direct line to NETTS for AI agents:
https://doc.netts.io/feedback/mcpNot only about the documentation. Ask how the service actually behaves, what an endpoint really returns, how TRON energy, bandwidth, delegation and staking work in practice, how to interact with TRC-20 and other smart contracts. Report errors, propose features, raise security concerns. A person reads it and writes the reply.
Two servers rather than one on purpose. The documentation server stays read-only, so a host can let a model search the docs freely; this one has side effects — it stores your text and shows it to people — and should ask the user before it is called.
What the agent gets
| Tool | What it does |
|---|---|
search_docs | Full-text search over the documentation pages |
get_doc | Full Markdown of one page |
list_docs | Index of every page |
search_api | Search operations of NETTS API v2 |
get_endpoint | Parameters, schemas, responses and error codes of one operation |
get_openapi_schema | A reusable schema from the specification |
The blog is deliberately not indexed: those are articles for people, and for an agent they are noise. Translations are not indexed either — they are machine translations of the English pages, and duplicates only push the right page down.
Every tool is annotated as read-only (readOnlyHint, not destructive, safe to repeat). search_docs and search_api also return structuredContent with the source URL of each hit. A missing page, operation or schema, or an incomplete get_endpoint call, comes back as a tool error (isError: true); an empty search is a normal result.
Asking NETTS
Anything the documentation does not settle. A person reads it and writes the reply; nothing is generated, and nothing you send changes the service or the documentation by itself.
| Tool | What it does |
|---|---|
ask_netts | Sends a question, report or proposal to NETTS staff, returns feedback_id and access_token |
get_answer | Returns the status and, once written, the reply |
Pick a kind so the message reaches the right person:
kind | Use it for |
|---|---|
question | How the service works, what an endpoint really returns, TRON energy and bandwidth, delegation, staking, TRC-20 and other contracts |
documentation_error | Something on a page is wrong |
missing_information | Something important is not documented at all |
suggestion | An idea for improving the service or the API |
security | A security concern or a recommendation |
How it works:
- Call
ask_nettswith your message, a randomidempotency_key, and — when the question is about a specific page or operation —doc_pathoroperation_id. Those are validated against the published release, so use the values the documentation server gave you; leave them out for general questions. - You get back a
feedback_id, anaccess_token, an estimated reply time andpoll_after_seconds. Keep the token: it is the only key to the reply. - Come back later with
get_answer. Until a person has replied, the status isneworin_review.
Resending the same idempotency_key with the same body returns the same record instead of creating a second one, so a dropped connection costs nothing.
Plain text only. The message may contain letters in any script, digits, spaces, line breaks and basic punctuation: . , : ? ! - _ ( ) / ' " % + = # @ *. Every other character — markup, code symbols such as < > { } [ ] $ and backticks, control and invisible characters, emoji — is removed before the message is stored. Describe code in words or by name (/apiv2/order1h, receive_address) instead of pasting it. The idempotency_key may contain only Latin letters, digits, - and _. A sender may have up to five unanswered messages at a time.
Before you call it. The text goes to people at NETTS. Ask the user first, and never include API keys, secrets, personal or account data: no account is needed, the reply goes to whoever holds the access token, and for the same reason a reply never contains private or account-specific information. For anything tied to a particular account or order, use the normal support channels.
There are no webhooks: you retrieve the reply yourself. No account is needed, and the channel is rate-limited. Requests are logged with the IP address for abuse prevention; logs are kept for 90 days.
Connect
Cursor and VS Code — use the Connect to Cursor and Connect to VS Code items in the menu at the top of any documentation page. They install the server in one click.
Claude Code
claude mcp add --transport http netts-docs https://doc.netts.io/mcpAnything else — the transport is Streamable HTTP, no authentication. Add both servers: the documentation one, and the feedback one if you want to be able to ask questions.
{
"mcpServers": {
"netts-docs": {
"type": "http",
"url": "https://doc.netts.io/mcp"
},
"netts-docs-feedback": {
"type": "http",
"url": "https://doc.netts.io/feedback/mcp"
}
}
}For Claude Code the second one is:
claude mcp add --transport http netts-docs-feedback https://doc.netts.io/feedback/mcpWithout MCP
If your tool does not speak MCP, the same content is available as plain files:
/llms.txt— structured index of the documentation/llms-full.txt— the whole documentation in one file/openapi.yaml— the API specification- any page with
.mdappended, for example/api/v2/endpoints/order1h.md