The research, as an API.
Every paper, Research Desk post, glossary term, Academy lesson and reference video as JSON and Markdown; the free calculators from /tools; the research calculators; and selection reliability for AI agents (is a regression forgetting or mis-selection, and is an update safe to ship). Use it over REST or connect an agent to the MCP server. Reads and free tools cost nothing; research calculators and reliability analyses cost one credit a call, and a few scale with input size.
Quickstart
No key, no sign-up: search the corpus and fetch a paper as Markdown.
curl "https://neurogenesys.ai/api/v1/search?q=verifier+exploitability"
curl "https://neurogenesys.ai/api/v1/papers/verifier-exploitability"
curl "https://neurogenesys.ai/api/v1/findings?q=selection&level=L1"Calculators and reliability analyses take a JSON body and an API key. This one splits an agent's accuracy drop after an update into the selector's share (it picked the wrong skill or tool more often) and the candidates' share (the skills themselves got worse):
curl -X POST "https://neurogenesys.ai/api/v1/reliability/attribute" \
-H "Authorization: Bearer ng_live_your_key" \
-H "Content-Type: application/json" \
-d '{"before": {"eps": 0.03, "a_forced": 0.92}, "after": {"eps": 0.09, "a_forced": 0.90}}'Base URL: https://neurogenesys.ai/api/v1. Responses are JSON. Long-form text (papers, posts, lessons) comes back in a markdown field with LaTeX math in $…$ and $$…$$. Every item has a canonical url; link to it when you quote us.
Keys & credits
Create a key under Account → API & MCP (sign in with 1Profile). Send it as Authorization: Bearer ng_live_… or x-api-key: ng_live_…. The key is shown once; we store only its hash. You can hold up to five active keys and revoke any of them.
Content and free-tool endpoints are free and ignore the key. Each research calculator and reliability analysis costs 1 credit(the exploitability audit and selector tuning scale with input size; see each description); uploading events to a hosted reliability project costs 1 credit per started 1,000 events, and listing or deleting your projects is free but needs a key. The reference below shows each operation's price. Credits are charged only when a call succeeds: invalid input, a missing key or a server error costs nothing. Your first key comes with 100 credits, and you can buy more on the account page. Credits are handled by cred.diy and paid through Stripe.
Every response carries these headers:
| Header | Meaning |
|---|---|
| X-Request-Id | This call's id, also in every error body. Send your own (8–128 chars) to trace a call; quote it to support and we can find the exact call in our logs. |
| X-Credits-Charged | Credits this call cost (0 for reads). |
| X-Credits-Remaining | Your balance after the call (paid calls only). |
Free reads are cached at the edge for five minutes. Please keep bulk crawls to a few requests a second, or use the full-text RSS feed and llms.txt.
MCP server
https://neurogenesys.ai/mcp is a Model Context Protocol server over Streamable HTTP. Every operation below is a tool with the same name, input and pricing. Free tools work without a key; add the key header to use the calculators and reliability tools. Tool errors carry the same code and request_id as the REST API.
Claude Code
claude mcp add --transport http neurogenesys https://neurogenesys.ai/mcp \
--header "Authorization: Bearer ng_live_your_key"Claude Desktop, Cursor and other JSON configs
{
"mcpServers": {
"neurogenesys": {
"url": "https://neurogenesys.ai/mcp",
"headers": { "Authorization": "Bearer ng_live_your_key" }
}
}
}Clients that only speak stdio
npx -y mcp-remote https://neurogenesys.ai/mcp --header "Authorization: Bearer ng_live_your_key"On claude.ai, add it as a custom connector with the URL above and no key; the free tools will be available. Failed calls return an MCP tool error whose text is the same JSON error object as the REST API.
Errors
Errors are JSON: { "error": { "code", "message", … }, "request_id" }. Branch on code, not the message.
| Status | Code | When |
|---|---|---|
| 400 | BAD_REQUEST | Input failed validation; error.issues lists each field. |
| 401 | API_KEY_REQUIRED | A calculator was called without a key. |
| 401 | INVALID_API_KEY | The key is unknown or revoked. |
| 402 | INSUFFICIENT_CREDITS | Your balance is below the call's cost; error.top_up links to the account page. |
| 404 | NOT_FOUND | No such paper, post, term, lesson, topic or endpoint. |
| 503 | METERING_UNAVAILABLE | Credits couldn't be checked. Nothing was charged; retry. |
| 500 | INTERNAL | Our fault. Quote the request_id. |
Reference
Content
- GET
/api/v1/searchFreeSearch everything
MCP tool: search
Full-text search across papers, Research Desk posts, glossary terms, Academy lessons and reference videos, research and free tools, topic hubs, and the site's hub pages (programs, science, milestones, agents, developers, about, …). Returns ranked hits with canonical URLs.
Field Type Description q string Search query. kind? "paper" | "post" | "term" | "lesson" | "tool" | "free_tool" | "video" | "topic" | "page" Restrict to one kind of content. limit? integer Max results (1–50). Default 10. curl "https://neurogenesys.ai/api/v1/search?q=verifier+exploitability" - GET
/api/v1/papersFreeList papers
MCP tool: list_papers
All NeuroGenesys research papers, newest first: title, area, status, abstract and key findings. Includes pre-registered negative results.
Field Type Description area? string Filter by research area (case-insensitive substring). - GET
/api/v1/papers/{slug}FreeGet a paper
MCP tool: get_paper
One paper's metadata and full text as Markdown (LaTeX math in $…$ / $$…$$), plus related posts, papers, lessons and tools.
Field Type Description slug string The paper's slug, as in its URL. curl "https://neurogenesys.ai/api/v1/papers/verifier-exploitability" - GET
/api/v1/postsFreeList Research Desk posts
MCP tool: list_posts
Research Desk posts (sourced analysis of continual learning, AI agents, neurotech and BCI, photonics, AI silicon and neural data policy, plus Field Watch, daily summaries of new research from other labs), newest first. Field Watch posts (category "Field Watch") report other labs' results, not NeuroGenesys findings; filter with category.
Field Type Description category? string Filter by category name (case-insensitive). limit? integer Max results (1–100). Default 20. offset? integer Results to skip. Default 0. - GET
/api/v1/posts/{slug}FreeGet a post
MCP tool: get_post
One Research Desk post: full body as Markdown with inline source links, and the source list.
Field Type Description slug string The post's slug, as in its URL. - GET
/api/v1/glossaryFreeList glossary terms
MCP tool: list_terms
Every glossary term with its one-to-two sentence definition.
curl "https://neurogenesys.ai/api/v1/glossary" - GET
/api/v1/glossary/{slug}FreeDefine a term
MCP tool: define_term
A glossary entry in full: definition, sections as Markdown, sources and related pages.
Field Type Description slug string The term's slug, as in its URL. - GET
/api/v1/academyFreeList Academy courses
MCP tool: list_courses
AI Academy tracks and courses with their lesson lists.
curl "https://neurogenesys.ai/api/v1/academy" - GET
/api/v1/academy/{course}/{lesson}FreeGet a lesson
MCP tool: get_lesson
One Academy lesson as Markdown (LaTeX math in $…$ / $$…$$), with its position in the course.
Field Type Description course string The course's slug, as in its URL. lesson string The lesson's slug, as in its URL. - GET
/api/v1/topicsFreeList topic hubs
MCP tool: list_topics
Topic hubs and the posts, papers, lessons, tools and glossary terms each gathers.
curl "https://neurogenesys.ai/api/v1/topics" - GET
/api/v1/topics/{slug}FreeGet a topic hub
MCP tool: get_topic
One topic hub with its member pages.
Field Type Description slug string The topic's slug, as in its URL. - GET
/api/v1/toolsFreeList research tools
MCP tool: list_tools
The research tools, the papers each comes from, and which API operations compute them.
curl "https://neurogenesys.ai/api/v1/tools" - GET
/api/v1/findingsFreeSearch the findings ledger
MCP tool: list_findings
Results from the lab's own experiments, one entry per finding, with evidence level (L0 engineering, L1 toy, L2 small LLM, L3 literature), post-hoc flag, status (result, pending, correction) and date. Includes pre-registered negatives and corrections. Filter by text, study, level or status; with no filters returns the studies and the newest entries. Quote findings with their level.
Field Type Description q? string Words that must all appear in the finding, e.g. 'CIFAR selection'. study? string A study slug from the studies list. level? "L0" | "L1" | "L2" | "L3" Only entries with this evidence level. status? "result" | "pending" | "correction" limit? integer Default 25. curl "https://neurogenesys.ai/api/v1/findings?q=selection&level=L1&limit=10" - GET
/api/v1/findings/{slug}FreeGet a study from the findings ledger
MCP tool: get_study
One study from the findings ledger with every entry, its preamble, date, status and the posts and papers that report it. Study slugs come from list_findings.
Field Type Description slug string The study's slug, from list_findings. curl "https://neurogenesys.ai/api/v1/findings/civilization-superintelligence-model" - GET
/api/v1/libraryFreeSearch the research library
MCP tool: search_library
External arXiv papers by other researchers that NeuroGenesys papers, posts and studies cite (1514 papers), with where each is cited. Filter by text, field, year or citing study; sort newest, oldest or most-cited.
Field Type Description q? string Words that must all appear in the title, authors, abstract or arXiv id. field? "AI & agents" | "Hardware, photonics & physics" | "Language models & NLP" | "Machine learning" | "Neuroscience & neural computation" | "Retrieval & data" | "Robotics & control" | "Security" | "Society, software & economics" | "Statistics & theory" | "Vision" | "Other" year? string Year of the first arXiv version. cited? "site" 'site' keeps only papers cited on a published page, not only in research notes. sort? "newest" | "oldest" | "most-cited" Default "newest". limit? integer Default 20. curl "https://neurogenesys.ai/api/v1/library?q=continual+learning&limit=5" - GET
/api/v1/academy/videosFreeList Academy reference videos
MCP tool: list_videos
Curated external lecture videos and full courses behind the Academy and the research, each with why it is worth watching and where on the site it is used. Filter by Academy course.
Field Type Description course? string Academy course slug. - GET
/api/v1/community-papersFreeList community papers
MCP tool: list_community_papers
Research submitted by the community and approved for publication at /research/community, newest first.
curl "https://neurogenesys.ai/api/v1/community-papers" - GET
/api/v1/pagesFreeList site pages
MCP tool: list_pages
The site's hub and institutional pages (programs, science, milestones, agent selection reliability, compare, developers, about, access, trust, legal, …) with summaries, plus every other public URL from the sitemap. Use read_page for a page's text.
Field Type Description prefix? string Only paths starting with this, e.g. /tools or /academy. - GET
/api/v1/pageFreeRead a page
MCP tool: read_page
The readable text of any public page by path, for pages without a dedicated operation: /programs, /science, /milestones, /agents, /compare, /about, /access, /trust, /people/…, /tools/…, legal pages. Prefer get_paper, get_post, define_term, get_lesson and get_topic when they fit.
Field Type Description path string Site path, e.g. /milestones. curl "https://neurogenesys.ai/api/v1/page?path=%2Fmilestones"
Selection reliability
- POST
/api/v1/reliability/report1 creditSelection-error report
MCP tool: reliability_report · Try it in the browser: selection-reliability
From selection/v1 decision events: selection error ε overall and by pool size K with Wilson 95% intervals, the logit-linear ε(ln K) trend, shortlist misses vs confusions, judge-assisted ε (PPI++) when events carry judge verdicts, and, with target_accuracy, the largest library that keeps routed accuracy on target.
Field Type Description events object[] Decision events (selection/v1; selrel v0.1 lines also validate). target_accuracy? number Routed-accuracy target for the library budget. curl -X POST "https://neurogenesys.ai/api/v1/reliability/report" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"events":[{"chosen":"refund","target":"refund","pool_size":8,"routed_ok":true,"forced_ok":true},{"chosen":"billing","target":"refund","pool_size":64,"routed_ok":false,"forced_ok":true},{"chosen":"search","target":"search","pool_size":64,"routed_ok":true}]}' - POST
/api/v1/reliability/diagnose1 creditForgetting or mis-selection?
MCP tool: reliability_diagnose · Try it in the browser: selection-reliability
Compares a baseline and a current window. If forced accuracy (correct candidate forced) fell, the candidates degraded: forgetting. If ε rose while forced accuracy held, the selector is at fault: mis-selection. Forced accuracy is judged only on candidates present at baseline. Returns the verdict, the changes with Newcombe intervals, and an exact split of the routed-accuracy change into selection and capability parts.
Field Type Description baseline object[] Baseline window. current object[] Current window. tol? number Smallest change counted as real. Default 0.02. - POST
/api/v1/reliability/gate1 creditGate a skill, memory or model update
MCP tool: reliability_gate · Try it in the browser: selection-reliability
ALLOW, BLOCK or NEED MORE DATA for an update, from labelled decisions before and after. Non-inferiority on ε: ALLOW if the interval for the rise is below delta, BLOCK if ε rose. Default intervals are anytime-valid (empirical-Bernstein confidence sequences), so CI can re-run the gate as data arrives. paired=true compares the same probe queries before and after (match by event_id or order) and needs far fewer labels.
Field Type Description before object[] Labelled decisions before the update. after object[] Labelled decisions after the update. delta? number Tolerance: the largest rise in ε you'd accept. Default 0.02. paired? boolean Same probe queries before and after. Default false. mode? "anytime" | "fixed" anytime: valid however often you re-check (use in CI and monitors). fixed: one look only, tighter. Default "anytime". - POST
/api/v1/reliability/estimate1 creditε from a few gold labels and many judge labels
MCP tool: reliability_estimate · Try it in the browser: selection-reliability
Prediction-powered inference (PPI++): combine n gold-labelled decisions (y = 1 if mis-selected, f = the judge's verdict 0–1) with N judge-only verdicts into one ε estimate with a valid 95% interval. Reports how many gold labels the judge is worth. A poor judge gets weight λ ≈ 0, so the interval stays valid.
Field Type Description gold object[] unlabelled number[] Judge verdicts on decisions without gold labels. - POST
/api/v1/reliability/attribute1 creditSplit a routed-accuracy change
MCP tool: reliability_attribute · Try it in the browser: selection-reliability
Exact decomposition of a routed-accuracy change, A = (1 − ε)·A_forced + ε·A_wrong, into the selector's share (−Δε·(Ā_forced − Ā_wrong)) and the candidates' share ((1 − ε̄)·ΔA_forced + ε̄·ΔA_wrong), from summary rates of two windows.
Field Type Description before object after object curl -X POST "https://neurogenesys.ai/api/v1/reliability/attribute" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"before":{"eps":0.03,"a_forced":0.92,"a_wrong":0.1},"after":{"eps":0.09,"a_forced":0.9,"a_wrong":0.1}}' - POST
/api/v1/reliability/planFreeLabels needed to gate an update
MCP tool: reliability_plan · Try it in the browser: selection-reliability
Labelled decisions needed to detect a rise in ε from eps to eps + change (two-sided α, power), for two independent windows or a paired replay of the same probe queries. Fixed-sample sizes; anytime-valid monitoring typically needs 1.3–2× more.
Field Type Description eps number Current selection error. change number Rise in ε to detect. alpha? number Default 0.05. power? number Default 0.8. paired? boolean Default false. flip_rate? number Paired only: share of probe queries whose outcome flips between versions. curl -X POST "https://neurogenesys.ai/api/v1/reliability/plan" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"eps":0.05,"change":0.02,"paired":true,"flip_rate":0.04}' - POST
/api/v1/reliability/projects/{project}/events1+ creditsUpload decision events to a project
MCP tool: reliability_ingest · Try it in the browser: selection-reliability
Append up to 5,000 selection/v1 events to a hosted project (created on first upload). Events with an event_id already stored are skipped, so retries are safe. Costs 1 credit per started 1,000 events.
Field Type Description project string Project name. events object[] Decision events. - GET
/api/v1/reliability/projectsFree · keyList your projects
MCP tool: reliability_projects · Try it in the browser: selection-reliability
Your hosted decision-log projects with event counts, tags and the time of the latest event.
curl "https://neurogenesys.ai/api/v1/reliability/projects" - GET
/api/v1/reliability/projects/{project}/report1 creditReport on a project
MCP tool: reliability_project_report · Try it in the browser: selection-reliability
reliability_report over a hosted project's events, optionally one tag and/or events since a time.
Field Type Description project string Project name. tag? string since? string ISO 8601 time. target_accuracy? number - POST
/api/v1/reliability/projects/{project}/diagnose1 creditDiagnose a project between two tags
MCP tool: reliability_project_diagnose · Try it in the browser: selection-reliability
reliability_diagnose with the baseline and current windows taken from a hosted project by tag (e.g. lib-v6 → lib-v7).
Field Type Description project string Project name. baseline_tag string current_tag string tol? number Smallest change counted as real. Default 0.02. - POST
/api/v1/reliability/projects/{project}/gate1 creditGate an update in a project
MCP tool: reliability_project_gate · Try it in the browser: selection-reliability
reliability_gate with before/after windows taken from a hosted project by tag. Anytime-valid by default, so it can run on every CI build.
Field Type Description project string Project name. baseline_tag string current_tag string delta? number Tolerance: the largest rise in ε you'd accept. Default 0.02. paired? boolean Default false. mode? "anytime" | "fixed" anytime: valid however often you re-check (use in CI and monitors). fixed: one look only, tighter. Default "anytime". - POST
/api/v1/reliability/projects/{project}/deleteFree · keyDelete a project
MCP tool: reliability_delete_project · Try it in the browser: selection-reliability
Permanently deletes a hosted project and all its events.
Field Type Description project string Project name.
Verifiers & judges
- POST
/api/v1/compute/verifier-budget1 creditBest-of-N budget model
MCP tool: verifier_budget · Try it in the browser: verifier-budget
From a verifier's measured exploitability ε, the generator's per-sample accuracy p and the verifier's separation d′: Best-of-N accuracy at each N, the model's safe budget N*, and whether argmax or consensus selection wins. Paper: thurstone-bounds-best-of-n. A model, not a measured prediction: in the lab's pre-registered real-judge study (findings 8.13) no judge made accuracy fall by N = 32 and measured ε did not predict the best budget.
Field Type Description p number Per-sample probability a candidate is correct. dprime number Verifier separation d′ between correct and wrong candidates. eps number Exploitability ε: share of wrong candidates scored at or above the median correct one. curl -X POST "https://neurogenesys.ai/api/v1/compute/verifier-budget" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"p":0.3,"dprime":1.5,"eps":0.2}' - POST
/api/v1/compute/estimate-epsilon1 creditEstimate ε from a validation set
MCP tool: estimate_epsilon · Try it in the browser: verifier-budget
Operational exploitability ε from verifier scores on a labelled validation set: the fraction of wrong candidates scored at or above the median correct score. Also returns the base rate p.
Field Type Description scores number[] Verifier score per candidate. correct boolean[] Whether each candidate is correct, same order as scores. - POST
/api/v1/compute/verifier-panel1 creditLLM-judge panel value
MCP tool: verifier_panel · Try it in the browser: verifier-panel
What an N-critic judge panel is really worth from per-critic error e and pairwise co-error P_both: shared-failure share s, error correlation ρ, effective panel size, the majority-vote accuracy ceiling, and critics needed for a target accuracy.
Field Type Description e number Per-critic error rate. p_both number Probability two critics are both wrong on the same item. n integer Panel size. target_accuracy? number Optional target panel accuracy. curl -X POST "https://neurogenesys.ai/api/v1/compute/verifier-panel" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"e":0.2,"p_both":0.08,"n":5,"target_accuracy":0.9}' - POST
/api/v1/compute/panel-stats1 creditPanel stats from a miss matrix
MCP tool: panel_stats · Try it in the browser: verifier-panel
e, P_both, s and ρ from an items × critics miss matrix (1 = critic wrong, 0 = right, null = abstained), with seeded bootstrap standard errors.
Field Type Description miss_matrix number | number | null[][] Rows are items, columns are critics. bootstrap? integer Bootstrap resamples for standard errors (0 to skip). Default 500. seed? integer Default 0. - POST
/api/v1/compute/tail-check1 creditTail check before a Φ-based ε
MCP tool: tail_check · Try it in the browser: verifier-panel
Excess kurtosis of verifier score gaps and whether the tails are Gaussian enough to trust a Thurstone (Φ-based) ε.
Field Type Description values number[] Score gaps or residuals. - POST
/api/v1/compute/exploitability-audit1+ creditsAudit a verifier from a Best-of-N log
MCP tool: exploitability_audit · Try it in the browser: exploitability-audit
Measured exploitability of a verifier or reward model from scored candidates: problem ε (some wrong answer outscores every right one), candidate ε against the consensus threshold ε* = p/(1−p), the exact Best-of-N curve with its peak N* and the drop beyond it, ε by pool, and seen vs. unseen problems. One credit per 10,000 candidates. Tool: exploitability-audit.
Field Type Description candidates object[] One entry per scored candidate. - POST
/api/v1/compute/selector-tune1+ creditsTune a selector on held-out decisions
MCP tool: selector_tune · Try it in the browser: selector-tune
Repair a router, retriever or verifier selector without retraining what it selects from: per-candidate score standardisation, a deferral margin that keeps ε among accepted picks at or below target_eps, and the smallest top-k shortlist. Decisions alternate between a calibration and a held-out half; every reported number is held-out. Returns the fitted selector. One credit per 5,000 decisions. Tool: selector-tune.
Field Type Description decisions object[] target_eps? number ε to reach among accepted picks. Default 0.02. max_k? integer Largest shortlist to consider. Default 10.
Experiment design
- POST
/api/v1/compute/standard-error1 creditStandard error of a statistic
MCP tool: standard_error · Try it in the browser: threshold-audit
SE of an AUROC (under H0 or at a value), a proportion, a difference of proportions, or a sample mean, for sizing a pre-registered threshold.
Field Type Description statistic "auroc_null" | "auroc" | "proportion" | "proportion_diff" | "mean" value? number AUROC value (auroc) or proportion p (proportion, proportion_diff p1). value2? number Second proportion p2 (proportion_diff). n? integer Sample size (proportion; n1 for proportion_diff). n2? integer Second sample size (proportion_diff). n_pos? integer Positives (auroc, auroc_null). n_neg? integer Negatives (auroc, auroc_null). values? number[] Samples (mean). curl -X POST "https://neurogenesys.ai/api/v1/compute/standard-error" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"statistic":"auroc_null","n_pos":40,"n_neg":60}' - POST
/api/v1/compute/threshold-design1 creditCheck a threshold before registering it
MCP tool: threshold_design · Try it in the browser: threshold-audit
Pre-registration checks: is the threshold at the null, within 2 null SEs of it, beyond the instrument's ceiling, or inside the flat-truth noise band of a range statistic over k points? Returns flags (malformed / unreachable / marginal).
Field Type Description threshold number direction "ge" | "le" ge: pass if statistic ≥ threshold; le: pass if ≤. null_value? number null_se? number ceiling? number The instrument's ceiling (ge) or floor (le) on ideal data. band_points? integer k, for a range/band statistic over k noisy points. point_se? number SE of each of the k points (with band_points). curl -X POST "https://neurogenesys.ai/api/v1/compute/threshold-design" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"threshold":0.55,"direction":"ge","null_value":0.5,"null_se":0.06,"ceiling":0.9}' - POST
/api/v1/compute/threshold-verdict1 creditClassify a missed threshold
MCP tool: threshold_verdict · Try it in the browser: threshold-audit
After the run: did the result pass, miss within 2 SE (UNDERPOWERED), or miss by more (SUBSTANTIVE)?
Field Type Description observed number threshold number se number direction "ge" | "le" curl -X POST "https://neurogenesys.ai/api/v1/compute/threshold-verdict" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"observed":0.53,"threshold":0.55,"se":0.03,"direction":"ge"}'
Hardware feasibility
- POST
/api/v1/compute/photonics/recirculation1 creditOptical recirculation pass budget
MCP tool: photonics_recirculation · Try it in the browser: photonics-budget
Passes through a loop with per-pass transmission η before precision falls from start to floor ENOB, for thermal-noise-limited, shot-noise-limited and amplified detection.
Field Type Description start_enob number floor_enob number eta number Per-pass power transmission. curl -X POST "https://neurogenesys.ai/api/v1/compute/photonics/recirculation" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"start_enob":8,"floor_enob":4,"eta":0.9}' - POST
/api/v1/compute/photonics/material-fom1 creditNonlinear material figure of merit
MCP tool: photonics_material_fom · Try it in the browser: photonics-budget
FoM = n2 / (β_TPA · λ) for a Kerr material; below 1, two-photon absorption eats the signal before a π phase shift. Pass a known material name or n2 and beta.
Field Type Description material? "Silicon" | "Silicon nitride" | "Chalcogenide As₂S₃" | "Silica" | "AlGaAs (below half-gap)" n2? number Kerr index, m²/W. beta? number Two-photon absorption coefficient, m/W. wavelength_m? number Default 0.00000155. curl -X POST "https://neurogenesys.ai/api/v1/compute/photonics/material-fom" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"material":"Silicon nitride"}' - POST
/api/v1/compute/photonics/lns-energy1 creditLogarithmic-number-system energy check
MCP tool: photonics_lns_energy · Try it in the browser: photonics-budget
Energy per MAC in linear vs. logarithmic arithmetic (Horowitz 45 nm figures), and the share of weight-bound decode energy that free arithmetic could save at a given bytes-per-weight.
Field Type Description precision "int8" | "fp16" | "fp32" lut_pj? number Energy of the log-sum-exp lookup, pJ. Default 5. bytes_per_weight? number Default 1. curl -X POST "https://neurogenesys.ai/api/v1/compute/photonics/lns-energy" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"precision":"fp16","lut_pj":5,"bytes_per_weight":2}' - POST
/api/v1/compute/photonics/aggregation-collapse1 creditPre-ADC aggregation collapse
MCP tool: photonics_aggregation_collapse · Try it in the browser: photonics-budget
Numerically shows a bank of K fixed-gated d×d operators equals one precomputed matrix: returns the residual ‖bank·x − W_eff·x‖ against the output scale.
Field Type Description k integer d integer seed? integer Default 0. curl -X POST "https://neurogenesys.ai/api/v1/compute/photonics/aggregation-collapse" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"k":8,"d":64}'
Free tools
- GET
/api/v1/free-toolsFreeList free tools
MCP tool: list_free_tools
The free in-browser calculators at /tools, with the API operation that computes each one where there is one.
curl "https://neurogenesys.ai/api/v1/free-tools" - POST
/api/v1/tools/llm-api-costFreeLLM API cost
MCP tool: llm_api_cost · Try it in the browser: LLM API Cost Calculator
Cost per request and in total for Anthropic, OpenAI and Google models from list prices (checked Nov 09, 2026), including cached-input and long-context rates. Omit model to compare every model.
Field Type Description input_tokens integer output_tokens integer cached_tokens? integer Input tokens served from the prompt cache (part of input_tokens). Default 0. requests? integer Default 1. model? string Model id from list_model_prices; omit to compare all. - GET
/api/v1/tools/model-pricesFreeList model prices
MCP tool: list_model_prices
The list prices behind llm_api_cost, in USD per million tokens, with each provider's pricing source.
curl "https://neurogenesys.ai/api/v1/tools/model-prices" - POST
/api/v1/tools/training-computeFreeTraining compute and cost
MCP tool: training_compute · Try it in the browser: LLM Training Compute Calculator
Training FLOPs (6·N·D), GPU-hours, wall-clock days and cost on an H100 or B200 at a given model FLOPs utilisation, plus the Chinchilla-optimal split of the same budget. Tokens default to 20× parameters.
Field Type Description params number Model parameters N. tokens? number Training tokens D. gpu? "h100" | "b200" Default "h100". mfu? number Model FLOPs utilisation. Default 0.4. gpu_count? integer Default 1024. curl -X POST "https://neurogenesys.ai/api/v1/tools/training-compute" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"params":7000000000,"gpu":"h100","gpu_count":256}' - POST
/api/v1/tools/eval-sample-sizeFreeEval sample size
MCP tool: eval_sample_size · Try it in the browser: AI Eval Sample Size Calculator
How many eval items you need: a confidence interval of a given half-width (margin), a difference between two models on separate (independent) or the same (paired, McNemar) items, or the smallest difference n items can detect (mde).
Field Type Description mode "margin" | "independent" | "paired" | "mde" p? number Expected accuracy (margin) or baseline accuracy p1 (independent, mde). p2? number Second model's accuracy (independent). margin? number Interval half-width (margin). delta? number Accuracy difference to detect (paired). discordant? number Share of items exactly one model gets right (paired). n? integer Items per model (mde). confidence? number Default 0.95. alpha? number Default 0.05. power? number Default 0.8. curl -X POST "https://neurogenesys.ai/api/v1/tools/eval-sample-size" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"mode":"margin","p":0.8,"margin":0.02}' - POST
/api/v1/tools/neural-data-rateFreeNeural data rate
MCP tool: neural_data_rate · Try it in the browser: Neural Data Rate Calculator (EEG & BCI)
Raw data rate and storage for a neural recording setup (channels × sample rate × bit depth ÷ compression), compared with common wireless and wired links.
Field Type Description channels integer hz number Samples per second per channel. bits integer compression? number Compression ratio (1 = raw). Default 1. hours? number Session length for the storage total. Default 1. curl -X POST "https://neurogenesys.ai/api/v1/tools/neural-data-rate" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"channels":1024,"hz":20000,"bits":10}' - GET
/api/v1/tools/neural-data-lawsFreeUS neural data privacy laws
MCP tool: neural_data_laws · Try it in the browser: Neural Data Privacy Law Checker
State laws that regulate neural data: definition, consent rule, enforcement, effective date and source. Filter by state.
Field Type Description state? string US state name (case-insensitive). - GET
/api/v1/tools/bci-companiesFreeBCI company comparison
MCP tool: bci_companies · Try it in the browser: BCI Company Comparison
Brain-computer interface companies: device, placement, electrode count, reported performance, regulatory status and trial participants, with what each claim rests on.
Field Type Description approach? "penetrating" | "endovascular" | "surface" - POST
/api/v1/tools/llm-memoryFreeGPU memory to run an LLM
MCP tool: llm_memory · Try it in the browser: VRAM Calculator: Can I Run This LLM?
Memory to run a model at a given quantization, context length and batch: weights, KV cache (GQA, sliding-window and MLA aware) and overhead, and how many of each GPU it takes, or the smallest Apple Silicon configuration that fits. Model and GPU data checked Nov 09, 2026. Same model as /tools/vram-calculator.
Field Type Description model "llama-3.1-8b" | "llama-3.1-70b" | "llama-3.3-70b" | "llama-3.1-405b" | "llama-4-scout" | "llama-4-maverick" | "qwen2.5-7b" | "qwen2.5-14b" | "qwen2.5-32b" | "qwen2.5-72b" | "qwen3-8b" | "qwen3-32b" | "qwen3-30b-a3b" | "qwen3-235b-a22b" | "mistral-7b" | "mixtral-8x7b" | "gemma-2-9b" | "gemma-2-27b" | "gemma-3-12b" | "gemma-3-27b" | "phi-4" | "gpt-oss-20b" | "gpt-oss-120b" | "deepseek-v3" Model id. quant? "fp32" | "bf16" | "fp8" | "int8" | "q6k" | "q5km" | "q4km" | "q3km" | "q2k" Weight format. Default "q4km". kv? "kv16" | "kv8" | "kv4" KV-cache precision. Default "kv16". context? integer Tokens of context per sequence. Default 8192. batch? integer Concurrent sequences. Default 1. overhead_share? number Runtime overhead as a share of the weights. Default 0.03. overhead_fixed_gb? number Fixed overhead per device, GB. Default 1. usable? number Share of GPU memory the runtime can allocate. Default 0.95. apple_usable? number Share of unified memory macOS lets the GPU use. Default 0.75. curl -X POST "https://neurogenesys.ai/api/v1/tools/llm-memory" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"model":"llama-3.1-70b","quant":"q4km","context":8192}' - POST
/api/v1/tools/llm-inference-speedFreeLLM tokens per second
MCP tool: llm_inference_speed · Try it in the browser: LLM Inference Speed Estimator (Tokens per Second)
Roofline estimate of decode speed (memory-bandwidth or compute bound), aggregate throughput at a batch size, and time to first token for a prompt, on a listed GPU or Mac or a custom device. Efficiency assumptions are inputs. Same model as /tools/inference-speed-estimator; data checked Nov 09, 2026.
Field Type Description model "llama-3.1-8b" | "llama-3.1-70b" | "llama-3.3-70b" | "llama-3.1-405b" | "llama-4-scout" | "llama-4-maverick" | "qwen2.5-7b" | "qwen2.5-14b" | "qwen2.5-32b" | "qwen2.5-72b" | "qwen3-8b" | "qwen3-32b" | "qwen3-30b-a3b" | "qwen3-235b-a22b" | "mistral-7b" | "mixtral-8x7b" | "gemma-2-9b" | "gemma-2-27b" | "gemma-3-12b" | "gemma-3-27b" | "phi-4" | "gpt-oss-20b" | "gpt-oss-120b" | "deepseek-v3" quant? "fp32" | "bf16" | "fp8" | "int8" | "q6k" | "q5km" | "q4km" | "q3km" | "q2k" Default "q4km". kv? "kv16" | "kv8" | "kv4" Default "kv16". device? "rtx3090" | "rtx4090" | "rtx5090" | "rtxa6000" | "rtx6000ada" | "l4" | "l40s" | "a100-40" | "a100-80" | "h100-pcie" | "h100-sxm" | "h200" | "b200" | "mi300x" | "m2max" | "m2ultra" | "m3max" | "m3ultra" | "m4pro" | "m4max" Device id; omit and pass bandwidth_gbs (and tflops) for a custom device. bandwidth_gbs? number tflops? number cards? integer Default 1. scaling_efficiency? number Efficiency of each extra card (tensor parallel). Default 0.85. context? integer Default 4096. prompt_tokens? integer Default 2000. batch? integer Default 1. bandwidth_efficiency? number Default 0.7. mfu? number Default 0.4. curl -X POST "https://neurogenesys.ai/api/v1/tools/llm-inference-speed" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"model":"llama-3.1-8b","quant":"q4km","device":"rtx4090"}' - POST
/api/v1/tools/agent-tool-countFreeWrong-tool rate as an agent's tool library grows
MCP tool: agent_tool_selection_error · Try it in the browser: Agent Tool Count Calculator
Expected selection error ε (wrong tool picked, or the right one missing from the shortlist) at a library size K, from logit-linear fits to published benchmarks: all tools in the prompt, embedding or BM25 shortlists. Says whether K is inside the measured range, and the largest library under a target error. These are other teams' systems; measure your own with the reliability_* operations.
Field Type Description k integer Number of tools, skills or memories. selector? "llm-all-tools" | "enterprise-flat" | "enterprise-embedding" | "enterprise-oracle" | "bm25-miss" | "dense-miss" | "hybrid-miss" Published curve; omit to get every curve. target? number Target error for the largest-library answer. curl -X POST "https://neurogenesys.ai/api/v1/tools/agent-tool-count" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"k":300}' - POST
/api/v1/tools/llm-judge-agreementFreeLLM judge vs human agreement
MCP tool: llm_judge_agreement · Try it in the browser: LLM Judge Agreement Calculator
Agreement between an LLM judge and human labels: percent agreement, Cohen's kappa with a 95% interval, the confusion matrix, and for two labels sensitivity, specificity and how many human labels the judge is worth (PPI++). Pass label pairs or 2×2 counts.
Field Type Description pairs? object[] One entry per item, judge label and human label. counts? object 2×2 counts instead of pairs: tp both positive, fn human positive / judge negative, fp, tn. positive? string Positive label, for sensitivity and specificity from pairs. unlabelled? integer Items with only a judge verdict. unlabelled_positive_rate? number Share of those the judge called positive. curl -X POST "https://neurogenesys.ai/api/v1/tools/llm-judge-agreement" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"counts":{"tp":40,"fn":10,"fp":5,"tn":145},"unlabelled":5000,"unlabelled_positive_rate":0.22}' - POST
/api/v1/tools/bci-itrFreeBCI information transfer rate
MCP tool: bci_itr · Try it in the browser: BCI Information Transfer Rate Calculator
Wolpaw information transfer rate for a brain-computer interface: bits per selection, per minute and per second, typing-speed equivalents (log2 26 ≈ 4.7 bits per letter, or ~1 bit with a language model), and with trials, the accuracy needed to beat chance. Includes published reference systems.
Field Type Description targets integer Number of possible selections, N. accuracy number Selection accuracy, P. trial_seconds number Time per selection, s. iti_seconds? number Inter-trial interval, s. Default 0. trials? integer Trials in your test, for the chance-level check. curl -X POST "https://neurogenesys.ai/api/v1/tools/bci-itr" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"targets":36,"accuracy":0.9,"trial_seconds":2,"iti_seconds":0.5,"trials":40}' - POST
/api/v1/tools/eu-ai-act-checkFreeEU AI Act risk tier
MCP tool: eu_ai_act_check · Try it in the browser: EU AI Act Risk Checker
EU AI Act (Regulation (EU) 2024/1689, as amended by the 2026 Digital Omnibus) risk tier for an AI system from yes/no answers: prohibited, high-risk, transparency or minimal, plus general-purpose model obligations, each with its article and application date (checked Nov 09, 2026). Call with no answers to get the questions. Not legal advice.
Field Type Description answers? object Question id → true/false; plus role (provider | deployer | both) and area (Annex III area index, 0 = none). Default {}. curl -X POST "https://neurogenesys.ai/api/v1/tools/eu-ai-act-check" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"answers":{"s_eu":true,"t_chat":true,"role":"provider"}}' - POST
/api/v1/tools/token-countFreeCount tokens
MCP tool: token_count · Try it in the browser: Token Counter & Context Window Checker
Token count of a text with the o200k_base encoding (GPT-4o and later; within a few percent for Claude and Gemini), and what that many input tokens cost on each model at list prices (checked Nov 09, 2026). Same as the /tools/token-counter page.
Field Type Description text string The text to count. model? "claude-fable-5-1" | "claude-opus-5-5" | "claude-sonnet-5-5" | "claude-haiku-5-5" | "claude-haiku-4-5" | "gpt-6-astra" | "gpt-6.1-sol" | "gpt-6.1-terra" | "gpt-6-luna" | "gpt-5.5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-4o-mini" | "gemini-4-argon" | "gemini-3.1-pro-preview" | "gemini-3.8-flash" | "gemini-3.5-flash-lite" | "gemini-3.1-flash-lite" Price for one model only; omit to compare all. curl -X POST "https://neurogenesys.ai/api/v1/tools/token-count" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"text":"How many tokens is this sentence?"}' - POST
/api/v1/tools/test-time-computeFreeTest-time compute cost
MCP tool: test_time_compute · Try it in the browser: Test-Time Compute Cost Estimator
Accuracy and cost of sampling N answers per query: coverage (any sample right), majority-vote accuracy given how often wrong answers agree, and cost per query and per month with the prompt cached after the first sample, plus the curve over N = 1…128. Same model as /tools/test-time-compute-cost.
Field Type Description model? "claude-fable-5-1" | "claude-opus-5-5" | "claude-sonnet-5-5" | "claude-haiku-5-5" | "claude-haiku-4-5" | "gpt-6-astra" | "gpt-6.1-sol" | "gpt-6.1-terra" | "gpt-6-luna" | "gpt-5.5" | "gpt-5-mini" | "gpt-5-nano" | "gpt-4o-mini" | "gemini-4-argon" | "gemini-3.1-pro-preview" | "gemini-3.8-flash" | "gemini-3.5-flash-lite" | "gemini-3.1-flash-lite" Default "claude-sonnet-5-5". input_tokens? integer Default 1500. output_tokens? integer Per sample, reasoning included. Default 2000. n? integer Samples per query. Default 8. p number Single-sample accuracy. agree? number Share of wrong samples that give the same wrong answer. Default 0.5. cache? boolean Samples after the first read the prompt from cache. Default true. queries? integer Queries per month. Default 10000. curl -X POST "https://neurogenesys.ai/api/v1/tools/test-time-compute" \ -H "Authorization: Bearer ng_live_your_key" \ -H "Content-Type: application/json" \ -d '{"p":0.6,"n":8}'
