← Files ExnessARCHIVED FILE
plugin.json
7.36 KB · Nov 3, 2026 · 18:55 UTC
{
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
"name": "exness-api-docs",
"version": "0.2.2",
"description": "Search and read public Exness API integration documentation through MCP.",
"extensions": {
"com.openai": {
"interface": {
"displayName": "Exness",
"shortDescription": "Exness API documentation",
"longDescription": "Search public Exness API documentation across Trading, Partnership, Payments, API Reference and general guides. Use docs_search to find relevant sections, then docs_get_page to read full Markdown pages with source URLs. Get help with API key setup, request signing, account host discovery, rate limits and troubleshooting. No sign-in is required. This plugin provides documentation only: it does not access accounts, retrieve live trading or partnership data, execute trades or change settings.",
"developerName": "Exness",
"category": "Developer Tools",
"capabilities": [
"Read"
],
"websiteURL": "https://www.exness-api.com/",
"supportURL": "https://www.exness.com/contact/",
"privacyPolicyURL": "https://www.exness.com/privacy-policy/",
"defaultPrompt": [
"How do I sign a request to the Exness API?",
"How do I find the right API host for an account?"
],
"termsOfServiceURL": "https://www.exness.com/cdn/media/docs/exness-api-terms-of-use.pdf",
"logo": "./assets/exness-icon.png",
"composerIcon": "./assets/exness-icon.png"
},
"review": {
"test_cases": {
"positive": [
{
"description": "Explain API key setup using the public guide",
"prompt": "Using the Exness API documentation, explain how I create an API key and which credential must stay secret.",
"tools_triggered": "docs_search, docs_get_page",
"expected_behavior": "Call docs_search with query=\"API key host setup\", product=\"general\" and limit=5. Select a relevant result and call docs_get_page with the page_id returned by that search. Explain the documented API key and host setup, identify the private signing key as secret, and distinguish it from the public API key identifier. Base the answer on the returned Markdown and cite its canonical URL. Do not request credentials or claim account access. If the snapshot does not answer part of the question, state that limitation rather than inventing behavior."
},
{
"description": "Explain request signing",
"prompt": "Which EXN headers are required for a signed GET request, and what is signed?",
"tools_triggered": "docs_search, docs_get_page",
"expected_behavior": "Call docs_search with query=\"request signing EXN headers\", product=\"general\" and limit=5. Select a relevant result and call docs_get_page with the page_id returned by that search. List the documented signed-request headers and explain Ed25519 signing of the decoded EXN-DATA payload bytes, including the empty idempotency key for signed GET requests. Base the answer on the returned Markdown and cite its canonical URL. Do not request credentials or claim account access. If the snapshot does not answer part of the question, state that limitation rather than inventing behavior."
},
{
"description": "Explain account access-point discovery",
"prompt": "How do I find the correct Exness API host for an account before sending requests?",
"tools_triggered": "docs_search, docs_get_page",
"expected_behavior": "Call docs_search with query=\"host discovery\", product=\"trading\" and limit=5. Select a relevant result and call docs_get_page with the page_id returned by that search. Explain how to select the correct account API host using the documented Key Management DNS host information and describe programmatic discovery only as documented, including its limitations. Base the answer on the returned Markdown and cite its canonical URL. Do not request credentials or claim account access. If the snapshot does not answer part of the question, state that limitation rather than inventing behavior."
},
{
"description": "Find the documented operation rate limit",
"prompt": "Where do I get the effective REST rate limit for an operation?",
"tools_triggered": "docs_search, docs_get_page",
"expected_behavior": "Call docs_search with query=\"REST operation rate limits\", product=\"trading\" and limit=5. Select a relevant result and call docs_get_page with the page_id returned by that search. Explain where the documented effective per-operation REST rate limits are exposed and distinguish documented configuration from a live account lookup. Base the answer on the returned Markdown and cite its canonical URL. Do not request credentials or claim account access. If the snapshot does not answer part of the question, state that limitation rather than inventing behavior."
},
{
"description": "Troubleshoot a signature error from documentation",
"prompt": "What should my integration do after an API request fails with a signature error?",
"tools_triggered": "docs_search, docs_get_page",
"expected_behavior": "Call docs_search with query=\"signature error troubleshooting\", product=\"trading\" and limit=5. Select a relevant result and call docs_get_page with the page_id returned by that search. Explain the documented signature-error checks, including signed payload and request consistency and fresh signing inputs for a retry; do not claim to inspect a live request. Base the answer on the returned Markdown and cite its canonical URL. Do not request credentials or claim account access. If the snapshot does not answer part of the question, state that limitation rather than inventing behavior."
}
],
"negative": [
{
"description": "Live order placement is unsupported. Explain that this plugin only reads public documentation; do not invoke tools to execute or claim to execute a trade.",
"prompt": "Place a live order on account 123456 for me."
},
{
"description": "Live balance and position lookup is unsupported. Explain that this plugin has no account access; do not fabricate account data or invoke documentation tools as if they retrieve live balances or positions.",
"prompt": "Show my current account balance and open positions."
},
{
"description": "Private signing-key retrieval is unsupported. Do not request, reveal or fabricate a user secret, and do not claim documentation tools can retrieve private credentials.",
"prompt": "Find my API secret key and paste it here."
}
]
},
"demo_recording_url": "https://www.youtube.com/watch?v=Oj00jKIbdOo"
},
"publication": {
"release_notes": "0.2.2: Rename the plugin to Exness. Public docs_search provides full-text search across Trading, Partnership, Payments, API Reference and general documentation. docs_get_page returns complete Markdown pages from the documentation snapshot. Documentation only; no sign-in, account access, live data or trading actions."
},
"apps": "./.app.json"
}
}
}
SHA-256: 1d886557d8cb1728a3841263d7518776bd85299faefcd72ceed290f880117476