Connect your AI agent (MCP)
Amatya Tests speaks MCP — the open protocol coding agents use to call tools. Connect once and your agent can ingest question papers, build tests, send links, and evaluate written answers, all against your real account with your real limits.
Setup
- Mint an API token in Agents & API. It is shown once — store it like a password.
- Add the server to your agent:
Claude Code
claude mcp add amatya-tests --transport http https://siddhixsys.com/api/tests-mcp --header "Authorization: Bearer atk_YOUR_TOKEN"Cursor / any HTTP MCP client — .cursor/mcp.json:
{
"mcpServers": {
"amatya-tests": {
"url": "https://siddhixsys.com/api/tests-mcp",
"headers": { "Authorization": "Bearer atk_YOUR_TOKEN" }
}
}
}stdio-only clients — bridge with npx mcp-remote https://siddhixsys.com/api/tests-mcp --header "Authorization: Bearer atk_YOUR_TOKEN".
The loop good agents run
get_limits— know the caps before starting.add_questions— batch insert with aclient_refper question; read the per-item report (inserted / exists / error) instead of assuming success. Retries with the sameclient_refare no-ops, never duplicates.create_test→create_section(marking scheme) →add_test_questions(explicit ids, or a randompoolby topic/difficulty that always respects the test's languages).publish_test— validation errors name exactly what to fix;language_gapslists which question is missing which language.get_preview_link— take the test yourself (the preview attempt never counts) and sanity-check the paper.add_takers→get_links/send_invites(previews first; queuing real email requiresconfirm: true— ask your human).- After submissions:
list_attempts→get_attempt(answers beside the rubric) →evaluate_answer→publish_results.
Every response ends with your remaining entitlements, so a well-behaved agent never discovers a cap by failing.
Rate limits & scopes
Free accounts: 60 tool calls/minute. Pro: 240. Tokens carry scopes (bank:write, tests:write, results:write, send, …) — a delegate token is scope-narrowed to the bank only.