MCP Documentation

Open mcp-config

mitochondria · 38 tools

Connect

Nexio exposes its molecular-biology tools over the Model Context Protocol at https://mcp.nexio.bio/mcp (streamable HTTP). There is no OAuth sign-in. Each client sends your API key as Authorization: Bearer <key>.

API key

Copy the Mitochondria API key from your profile. Keep it out of chats, screenshots, and project files. Ask the assistant to call Nexio tools; do not paste the key into the conversation or into an api_key argument.

  • Save the raw key in NEXIO_API_KEY. Leave off the word Bearer. Clients that add that prefix will send Bearer Bearer … and the server will reject the key.
  • The request header is Authorization: Bearer <raw key>.
  • Claude.ai’s request-header field is the exception. That field is sent exactly as typed, so it must include Bearer and a space.

Open a new terminal after you save the variable. Apps that were already running will not see it until you quit them completely and open them again.

Save the key

Replace your-api-key with the key from your profile. The length check should print a number greater than 0, and it should not print the key.

printf '\nexport NEXIO_API_KEY="your-api-key"\n' >> ~/.bashrc
source ~/.bashrc
echo "${#NEXIO_API_KEY}"

On Linux, if your shell is zsh, append the same export line to ~/.zshrc instead of ~/.bashrc. On Windows, run the commands in PowerShell.

Check for a Bearer prefix

If this reports a Bearer prefix, save the raw key again and restart the app.

case "$NEXIO_API_KEY" in
  Bearer*) echo "has Bearer prefix" ;;
  *) echo "ok" ;;
esac

On Windows, True means the stored value starts with Bearer. False means the raw key is stored.

ChatGPT

chatgpt.com cannot send this API key. Custom connectors there accept OAuth or no authentication, and Nexio has no OAuth. Use Codex instead. The ChatGPT desktop app and the IDE extension read the same Codex config.

Save NEXIO_API_KEY first (API key), then add the server. Codex reads the variable and sends Authorization: Bearer itself. Skip the desktop “Add server” dialog for this key: that dialog has no static-token field and continues into OAuth.

codex mcp add mitochondria --url https://mcp.nexio.bio/mcp --bearer-token-env-var NEXIO_API_KEY

Config file

codex mcp add writes this for you. The file stores the variable name, not the key. The ChatGPT desktop app, Codex CLI, and the IDE extension share it (Codex MCP docs).

~/.codex/config.toml
[mcp_servers.mitochondria]
url = "https://mcp.nexio.bio/mcp"
bearer_token_env_var = "NEXIO_API_KEY"

Check the connection

Ask Codex to check your Nexio quota. It should call mitochondria_get_quota_limits, which returns this account’s caps and usage and does not consume quota.

Gemini

The Gemini app cannot send this API key. Custom apps at gemini.google.com expect OAuth, and Nexio has no OAuth. Use Gemini CLI. The command below uses user scope, so the key stays in your user settings instead of a project file.

Save NEXIO_API_KEY first (API key). Gemini CLI stores the header value it receives; the commands read the key from the environment so you do not paste it into the command.

gemini mcp add --scope user --transport http mitochondria https://mcp.nexio.bio/mcp --header "Authorization: Bearer $NEXIO_API_KEY"

On Windows, run the command in PowerShell. In Gemini CLI, /mcp lists the server. Then ask it to check your Nexio quota. A working connection calls mitochondria_get_quota_limits and does not consume quota.

Claude

Claude Code

Save NEXIO_API_KEY first (API key). In the project you open with Claude Code, create .mcp.json in the project root. Claude Code expands ${NEXIO_API_KEY} when it connects, so the file holds the placeholder and can be committed.

{
  "mcpServers": {
    "mitochondria": {
      "type": "http",
      "url": "https://mcp.nexio.bio/mcp",
      "headers": {
        "Authorization": "Bearer ${NEXIO_API_KEY}"
      }
    }
  }
}
  1. Quit Claude completely, including the system tray, then open it again. If you use the CLI, close the terminal, open a new one, and start claude again.
  2. When Claude Code asks you to approve the server from .mcp.json, approve it.
  3. Ask Claude to check your Nexio quota. It should call mitochondria_get_quota_limits. That call returns this account’s caps and usage and does not consume quota.

If the tools do not appear

  • Confirm .mcp.json is in the root of the folder you opened, and that the JSON is valid.
  • Confirm you approved the server when Claude Code asked.
  • Confirm Claude was restarted after NEXIO_API_KEY was saved. A 403 Invalid API key response usually means Claude never saw the variable, the value includes a Bearer prefix (check above), or the profile key was copied with extra spaces.
  • A 403 that mentions quota means the daily or monthly budget is used up. Ask Claude to check your quota for the reset.

Claude.ai, Claude mobile, and Claude Desktop

  1. Open Customize → Connectors → Add custom connector. Team and Enterprise owners use Organization settings → Connectors → Add → Custom.
  2. Set the URL to https://mcp.nexio.bio/mcp. Claude.ai connects from Anthropic’s cloud, so this must be the public URL.
  3. In request headers, set Authorization to Bearer <your API key>, including the word Bearer and a space. Claude sends that value as entered.
  4. Add the connector. In chat, enable it from + → Connectors.

Other

Any client that can set a streamable-HTTP URL and a request header can connect:

  • URL: https://mcp.nexio.bio/mcp
  • Transport: streamable HTTP
  • Header: Authorization: Bearer <raw key>

Cursor

Save NEXIO_API_KEY first (API key). Put this in your user MCP config. Cursor expands ${env:NEXIO_API_KEY} in headers (Cursor MCP docs). Reload the window after you save the file.

~/.cursor/mcp.json
{
  "mcpServers": {
    "mitochondria": {
      "url": "https://mcp.nexio.bio/mcp",
      "headers": {
        "Authorization": "Bearer ${env:NEXIO_API_KEY}"
      }
    }
  }
}

Overview

Each tool accepts optional parameter api_key: the user's real Mitochondria API key. Never invent, guess, or use placeholder values (undefined, null, test, your-api-key). If the user has not provided a key, the connection's Authorization header or the process MITOCHONDRIA_API_KEY may supply one; still never invent a key. The server forwards the resolved key as Authorization: Bearer so quota applies to that key.

Quotas (standard keys): usage is tracked in token units per UTC calendar day and month. Each successful call may consume a route-specific token cost (configured on the server); if the budget would be exceeded, the API returns HTTP 403 with a quota message (e.g. Payment Required). Admin keys are not quota-limited. Use mitochondria_get_quota_limits to read daily/monthly caps, used amounts, and remainders; that call does not consume tokens.

Successful responses are JSON with status "success" and a "results" field. Malformed JSON often yields 400; validation and business rules often yield 422 with message (and sometimes errors). Each tool description states limits and defaults aligned with the public API documentation.

Persist-then-id protocol for DNA:

1. Persist DNA on first sight (mitochondria_oligos_create or save_results true).

2. Later calls: pass {id} only — do not resend seq or genbank when an id exists.

3. Catalog: mitochondria_catalog_vector_get (GET /catalog/vectors/{name}) → pass {id, name, type: "catalog"} from that response as the backbone handle.

4. Never POST type catalog (users cannot create catalog rows).

5. Prefer primary enzyme names from nested restrictase lists; isoschizomer names remain valid inputs.

6. save_results omits seq/genbank unless full_results is also true; full_results alone is ignored.

Server

  • mitochondriaModel Context Protocol catalog
Quota1 tool
GET/quota/limitsDoes not consume token quota. Returns caps and usage for the current UTC day and month.

tool mitochondria_get_quota_limits

operationId quota_limits_get

Description

Standard keys: daily_limit_tokens, monthly_limit_tokens, daily_used_tokens, monthly_used_tokens,

daily_remaining_tokens, monthly_remaining_tokens, period.utc_day, period.utc_month.

Admin keys: tier admin, unlimited true. Unknown key: 403. Key DB unavailable for non-admin: 503.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    }
  },
  "title": "mitochondria_get_quota_limitsArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_get_quota_limitsOutput",
  "type": "object"
}
Sequence4 tools
POST/tools/sequence/reverse_complementDNA or RNA (IUPAC); whitespace stripped, case ignored. Invalid letters: 422.

tool mitochondria_reverse_complement

operationId tools_sequence_reverse_complement

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "sequence": {
      "title": "Sequence",
      "type": "string"
    }
  },
  "required": [
    "sequence"
  ],
  "title": "mitochondria_reverse_complementArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_reverse_complementOutput",
  "type": "object"
}
POST/tools/sequence/transcribeDNA to RNA (T→U).

tool mitochondria_sequence_transcribe

operationId tools_sequence_transcribe

Description

Whitespace stripped, case ignored. Invalid symbols: 422.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "sequence": {
      "title": "Sequence",
      "type": "string"
    }
  },
  "required": [
    "sequence"
  ],
  "title": "mitochondria_sequence_transcribeArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_sequence_transcribeOutput",
  "type": "object"
}
POST/tools/sequence/back_transcribeRNA to DNA (U→T).

tool mitochondria_sequence_back_transcribe

operationId tools_sequence_back_transcribe

Description

Whitespace stripped, case ignored. Invalid symbols: 422.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "sequence": {
      "title": "Sequence",
      "type": "string"
    }
  },
  "required": [
    "sequence"
  ],
  "title": "mitochondria_sequence_back_transcribeArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_sequence_back_transcribeOutput",
  "type": "object"
}
POST/tools/sequence/translateDefaults: translation_table=1 (NCBI code), to_stop=false, cds=false. translation_table minimum 1.

tool mitochondria_sequence_translate

operationId tools_sequence_translate

Description

CDS or codon violations: HTTP 422; JSON fields ``message`` and ``errors`` carry the rationale

(cds=true validates start/stop/length/table).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "cds": {
      "default": false,
      "title": "Cds",
      "type": "boolean"
    },
    "sequence": {
      "title": "Sequence",
      "type": "string"
    },
    "to_stop": {
      "default": false,
      "title": "To Stop",
      "type": "boolean"
    },
    "translation_table": {
      "anyOf": [
        {
          "type": "integer"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Translation Table"
    }
  },
  "required": [
    "sequence"
  ],
  "title": "mitochondria_sequence_translateArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_sequence_translateOutput",
  "type": "object"
}
Restriction1 tool
POST/tools/restrictionMulti-enzyme digest map and fragments.

tool mitochondria_tools_restriction

operationId tools_restriction

Description

Default circular=false (linear). Empty restrictase_names: no cuts. circular=true scans as circular topology

(sites may span ends of sequence) and uses wrap-around fragment order first in sequences.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "circular": {
      "default": false,
      "title": "Circular",
      "type": "boolean"
    },
    "restrictase_names": {
      "items": {
        "type": "string"
      },
      "title": "Restrictase Names",
      "type": "array"
    },
    "sequence": {
      "title": "Sequence",
      "type": "string"
    }
  },
  "required": [
    "sequence",
    "restrictase_names"
  ],
  "title": "mitochondria_tools_restrictionArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_tools_restrictionOutput",
  "type": "object"
}
Protein1 tool
POST/tools/protein/reverse_transcribeProtein (one-letter amino acids, * for stop) to coding DNA. host default e.coli

tool mitochondria_protein_reverse_transcribe

operationId tools_protein_reverse_transcribe

Description

(must be a label the service supports). restrictases names enzymes whose sites must

not appear. Invalid symbols: 422. Processing failures return 500.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "host": {
      "default": "e.coli",
      "title": "Host",
      "type": "string"
    },
    "restrictases": {
      "items": {
        "type": "string"
      },
      "title": "Restrictases",
      "type": "array"
    },
    "sequence": {
      "title": "Sequence",
      "type": "string"
    }
  },
  "required": [
    "sequence",
    "restrictases"
  ],
  "title": "mitochondria_protein_reverse_transcribeArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_protein_reverse_transcribeOutput",
  "type": "object"
}
Backbone2 tools
POST/backbone/linearize/selectionExcise segment by positions.

tool mitochondria_backbone_linear_selection

operationId backbone_linear_selection

Description

backbone: object with required id, seq; optional topology (default circular), mcs_start (default 1),

mcs_end (default sequence length).

left_position / right_position: 1-based inclusive segment to remove; right_position may be 0 with

left_position=1 for a seam cut (between last and first base, no bases removed). Alternatively

seam: left=len(seq)+1 and right=len(seq). Adjacent cut (no bases removed): left=right+1.

Optional backbone.genbank: full circular GenBank matching backbone.seq; response may include results.genbank

(linear record with remapped features).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "left_position": {
      "title": "Left Position",
      "type": "integer"
    },
    "right_position": {
      "title": "Right Position",
      "type": "integer"
    }
  },
  "required": [
    "backbone",
    "left_position",
    "right_position"
  ],
  "title": "mitochondria_backbone_linear_selectionArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_backbone_linear_selectionOutput",
  "type": "object"
}
POST/backbone/linearize/restrictionbackbone: id and seq required; optional topology, mcs_start, mcs_end as documented in the public API.

tool mitochondria_backbone_linear_restriction

operationId backbone_linear_restriction

Description

For a single enzyme, pass end_restrictase as '' (empty string). Enzyme names from server catalog.

With two enzymes, returns the linearized vector backbone (long fragment); not the MCS insert-sized dropout.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "end_restrictase": {
      "title": "End Restrictase",
      "type": "string"
    },
    "start_restrictase": {
      "title": "Start Restrictase",
      "type": "string"
    }
  },
  "required": [
    "backbone",
    "start_restrictase",
    "end_restrictase"
  ],
  "title": "mitochondria_backbone_linear_restrictionArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_backbone_linear_restrictionOutput",
  "type": "object"
}
Primers1 tool
POST/primers/simpleSimple PCR primers for a linear insert.

tool mitochondria_primers_simple

operationId primers_simple

Description

options optional: min_tm default 60 (allowed 50–80 °C); min_length default 18 (allowed 15–35 bp;

alias min_primer_length).

RNA-like insert (U) is coerced to T with a warning. No primers found: often 500.

Reported melting_temperature / annealing_temperature follow the public API definitions

(nearest-neighbour + mixed-ion oligomer assumptions).

overwrite applies when saving an oligo input (existing id without overwrite: 409).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "options": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Options"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    }
  },
  "required": [
    "insert"
  ],
  "title": "mitochondria_primers_simpleArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_primers_simpleOutput",
  "type": "object"
}
Restriction cloning5 tools
POST/cloning/restriction/primersinsert: {id, seq}. restrictases: {start, end} enzyme names; optional start_seq, end_seq.

tool mitochondria_restriction_cloning_primers

operationId restriction_cloning_primers

Description

options optional: start_overhang_size, end_overhang_size in 1–5 bp when set.

overwrite applies when saving an oligo input (existing id without overwrite: 409).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "forward_primer": {
      "title": "Forward Primer",
      "type": "string"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "options": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Options"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "restrictases": {
      "title": "Restrictases",
      "type": "object"
    },
    "reverse_primer": {
      "title": "Reverse Primer",
      "type": "string"
    }
  },
  "required": [
    "insert",
    "forward_primer",
    "reverse_primer",
    "restrictases"
  ],
  "title": "mitochondria_restriction_cloning_primersArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_restriction_cloning_primersOutput",
  "type": "object"
}
POST/cloning/restriction/primers_combinedAuto simple-primer step then adds sites like /cloning/restriction/primers.

tool mitochondria_restriction_cloning_primers_combined

operationId restriction_cloning_primers_combined

Description

options optional: overhang sizes 1–5; min_tm if set must be strictly between 30 and 100 °C.

If min_tm omitted, inner step uses default 60 °C like /primers/simple. min_length 15–35 bp (default 18)

for the inner simple-primer step; min_primer_length alias supported.

overwrite applies when saving an oligo input (existing id without overwrite: 409).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "options": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Options"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "restrictases": {
      "title": "Restrictases",
      "type": "object"
    }
  },
  "required": [
    "insert",
    "restrictases"
  ],
  "title": "mitochondria_restriction_cloning_primers_combinedArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_restriction_cloning_primers_combinedOutput",
  "type": "object"
}
POST/cloning/restriction/restrictioninserts: array of {id, seq}, max 10 items; empty array = backbone-only enzyme context.

tool mitochondria_restriction_cloning_restrictases

operationId restriction_cloning_restrictases

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "inserts": {
      "items": {
        "type": "object"
      },
      "title": "Inserts",
      "type": "array"
    }
  },
  "required": [
    "backbone",
    "inserts"
  ],
  "title": "mitochondria_restriction_cloning_restrictasesArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_restriction_cloning_restrictasesOutput",
  "type": "object"
}
GET/cloning/restriction/restriction/supported_restrictasesoperationId: restriction_cloning_supported_restrictases_get.

tool mitochondria_restriction_cloning_supported_restrictases

Description

Alphabetically sorted sticky Type IIP enzyme names used for restriction-cloning MCS logic.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    }
  },
  "title": "mitochondria_restriction_cloning_supported_restrictasesArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_restriction_cloning_supported_restrictasesOutput",
  "type": "object"
}
POST/cloning/restriction/resultRequired request fields: backbone (with genbank), construct_name, insert,

tool mitochondria_restriction_cloning_result

operationId restriction_cloning_result

Description

insert_name, insert_type, insertion_position_1, forward_primer_full_seq,

reverse_primer_full_seq, forward_primer_restrictase_position,

reverse_primer_restrictase_position; optional insertion_position_2,

forward_primer_restrictase, reverse_primer_restrictase.

Integer positions are >= 1 where specified. backbone.genbank is full GenBank text including ORIGIN and //.

Success: results is GenBank text. primer_bind features use /label with the restrictase name when

that name is recognized in the supported enzyme catalog; otherwise labels are forward_primer /

reverse_primer. /note still describes the restriction-site remnant.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "body": {
      "title": "Body",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "title": "mitochondria_restriction_cloning_resultArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_restriction_cloning_resultOutput",
  "type": "object"
}
PCR cloning3 tools
POST/cloning/pcr/constructsTwo concatamer previews.

tool mitochondria_pcr_cloning_constructs

operationId pcr_cloning_constructs

Description

backbone and insert are oligo objects with seq; else 422.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    }
  },
  "required": [
    "backbone",
    "insert"
  ],
  "title": "mitochondria_pcr_cloning_constructsArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_pcr_cloning_constructsOutput",
  "type": "object"
}
POST/cloning/pcr/restrictionBlunt single-cutters in MCS.

tool mitochondria_pcr_cloning_restriction

operationId pcr_cloning_restriction

Description

Circular backbone only; linear backbone returns empty results []. Cuts once, blunt, site in mcs_start…mcs_end.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    }
  },
  "required": [
    "backbone"
  ],
  "title": "mitochondria_pcr_cloning_restrictionArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_pcr_cloning_restrictionOutput",
  "type": "object"
}
POST/cloning/pcr/resultRequired request fields: backbone (with genbank), construct_name, insert, insert_name,

tool mitochondria_pcr_cloning_result

operationId pcr_cloning_result

Description

insert_type, insertion_position_1; optional insertion_position_2, forward_primer,

reverse_primer, restrictase_names, use_reverse_complement (default false).

Positions minimum 1. Success: results is GenBank text string.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "body": {
      "title": "Body",
      "type": "object"
    }
  },
  "required": [
    "body"
  ],
  "title": "mitochondria_pcr_cloning_resultArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_pcr_cloning_resultOutput",
  "type": "object"
}
Gibson cloning4 tools
POST/cloning/gibson/primersOligo contract: insert/backbone use {id}, {seq}, or catalog {id, name, type: "catalog"}.

tool mitochondria_gibson_cloning_primers

operationId gibson_cloning_primers

Description

Prefer ids after persist; do not resend seq/genbank when an id exists.

Provide both start_overlap_seq and end_overlap_seq, or omit both and supply backbone plus

restrictase (single MCS cut of a circular backbone). One overlap without the other, or

neither a complete overlap pair nor backbone+restrictase, is rejected.

Required options: primer_tm, overlap_tm (°C); overlap_size (bp, >= 1). add_kozak designs

forward annealing against GCCACC 5' of an ATG-starting insert.

Input

{
  "properties": {
    "add_kozak": {
      "default": false,
      "title": "Add Kozak",
      "type": "boolean"
    },
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Backbone"
    },
    "end_overlap_seq": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "End Overlap Seq"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "overlap_size": {
      "title": "Overlap Size",
      "type": "integer"
    },
    "overlap_tm": {
      "title": "Overlap Tm",
      "type": "integer"
    },
    "primer_tm": {
      "title": "Primer Tm",
      "type": "integer"
    },
    "restrictase": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Restrictase"
    },
    "start_overlap_seq": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Start Overlap Seq"
    }
  },
  "required": [
    "insert",
    "primer_tm",
    "overlap_size",
    "overlap_tm"
  ],
  "title": "mitochondria_gibson_cloning_primersArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_gibson_cloning_primersOutput",
  "type": "object"
}
POST/cloning/gibson/resultOligo contract: backbone/insert use {id}, inline seq/genbank, or catalog

tool mitochondria_gibson_cloning_result

operationId gibson_cloning_result

Description

{id, name, type: "catalog"} (no seq paste after catalog get). Prefer ids.

Assembles a circular plasmid; restrictase must cut once in the MCS. Primers are the full

sequences from /cloning/gibson/primers. Backbone must resolve to GenBank (catalog/stored/

inline). construct_name required. add_kozak must match primer design.

save_results: compact construct handle (no genbank) unless full_results also true;

full_results alone is ignored.

Input

{
  "properties": {
    "add_kozak": {
      "default": false,
      "title": "Add Kozak",
      "type": "boolean"
    },
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "construct_name": {
      "title": "Construct Name",
      "type": "string"
    },
    "forward_primer_full_seq": {
      "title": "Forward Primer Full Seq",
      "type": "string"
    },
    "full_results": {
      "default": false,
      "title": "Full Results",
      "type": "boolean"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "insert_name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Insert Name"
    },
    "insert_type": {
      "default": "CDS",
      "title": "Insert Type",
      "type": "string"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "restrictase": {
      "title": "Restrictase",
      "type": "string"
    },
    "reverse_primer_full_seq": {
      "title": "Reverse Primer Full Seq",
      "type": "string"
    },
    "save_results": {
      "default": false,
      "title": "Save Results",
      "type": "boolean"
    }
  },
  "required": [
    "backbone",
    "insert",
    "restrictase",
    "construct_name",
    "forward_primer_full_seq",
    "reverse_primer_full_seq"
  ],
  "title": "mitochondria_gibson_cloning_resultArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_gibson_cloning_resultOutput",
  "type": "object"
}
POST/cloning/gibson/restrictionType IIP enzymes cutting once in MCS; circular backbone only (linear returns []).

tool mitochondria_gibson_cloning_restrictases

operationId gibson_cloning_restrictases

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    }
  },
  "required": [
    "backbone"
  ],
  "title": "mitochondria_gibson_cloning_restrictasesArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_gibson_cloning_restrictasesOutput",
  "type": "object"
}
GET/cloning/gibson/restriction/supported_restrictasesAlphabetically sorted Type IIP enzyme names (sticky or blunt) used for Gibson vector-linearization MCS logic.

tool mitochondria_gibson_cloning_supported_restrictases

operationId gibson_cloning_supported_restrictases_get

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    }
  },
  "title": "mitochondria_gibson_cloning_supported_restrictasesArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_gibson_cloning_supported_restrictasesOutput",
  "type": "object"
}
Golden Gate5 tools
POST/cloning/golden_gate/restrictionType IIS enzymes for Golden Gate assembly; inserts max 10. preferred_restrictases optional reordering hint.

tool mitochondria_golden_gate_cloning_restrictases

operationId golden_gate_cloning_restrictases

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "inserts": {
      "items": {
        "type": "object"
      },
      "title": "Inserts",
      "type": "array"
    },
    "preferred_restrictases": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Preferred Restrictases"
    }
  },
  "required": [
    "backbone",
    "inserts"
  ],
  "title": "mitochondria_golden_gate_cloning_restrictasesArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_golden_gate_cloning_restrictasesOutput",
  "type": "object"
}
POST/cloning/golden_gate/cassetteDetect whether the backbone MCS contains a Type IIS cassette (two same-enzyme sites).

tool mitochondria_golden_gate_cassette_detect

operationId golden_gate_cassette_detect

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    }
  },
  "required": [
    "backbone"
  ],
  "title": "mitochondria_golden_gate_cassette_detectArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_golden_gate_cassette_detectOutput",
  "type": "object"
}
GET/cloning/golden_gate/restriction/supported_restrictasesoperationId: golden_gate_cloning_supported_restrictases_get.

tool mitochondria_golden_gate_cloning_supported_restrictases

Description

Alphabetically sorted Type IIS enzyme names used for Golden Gate planning.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    }
  },
  "title": "mitochondria_golden_gate_cloning_supported_restrictasesArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_golden_gate_cloning_supported_restrictasesOutput",
  "type": "object"
}
POST/cloning/golden_gate/primersDesigns Type IIS insert primers for Golden Gate assembly in the given insert order.

tool mitochondria_golden_gate_cloning_primers

operationId golden_gate_cloning_primers

Description

Backbone must have an inward cassette for restrictase (catalog primary name or isoschizomer).

inserts max 10. Cassette fusion sites are never client-overridable.

internal_overhangs optional: one pin or null per junction between inserts (length = len(inserts)-1);

omit for a single insert. Pins must be DNA A/C/G/T, native sticky-end length, non-palindromic,

unique, and not equal to cassette ends.

options optional: min_tm if set must be strictly between 30 and 100 °C (omit for default 60 °C

like simple PCR primers); min_length 15–35 bp (default 18).

Inserts that still contain the enzyme recognition site are rejected (codon-optimize first).

overwrite applies when saving oligo inputs (existing id without overwrite: 409).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "inserts": {
      "items": {
        "type": "object"
      },
      "title": "Inserts",
      "type": "array"
    },
    "internal_overhangs": {
      "anyOf": [
        {
          "items": {
            "anyOf": [
              {
                "type": "string"
              },
              {
                "type": "null"
              }
            ]
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Internal Overhangs"
    },
    "options": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Options"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "restrictase": {
      "title": "Restrictase",
      "type": "string"
    }
  },
  "required": [
    "backbone",
    "inserts",
    "restrictase"
  ],
  "title": "mitochondria_golden_gate_cloning_primersArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_golden_gate_cloning_primersOutput",
  "type": "object"
}
POST/cloning/golden_gate/resultAssembles a circular plasmid from a cassette backbone and ordered Type IIS-flanked PCR

tool mitochondria_golden_gate_cloning_result

operationId golden_gate_cloning_result

Description

products. Backbone must be circular with an inward cassette for restrictase (catalog

primary name or isoschizomer). PCR product order is assembly order; each product must

digest to sticky ends that match cassette left, successive insert fusions, then cassette

right. construct_name is required and must be non-empty.

Put optional destination GenBank on backbone.genbank.

insert_features optional: annotation overrides by product id (name, type; type defaults

to CDS). Success: results is circular GenBank text.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "title": "Backbone",
      "type": "object"
    },
    "construct_name": {
      "title": "Construct Name",
      "type": "string"
    },
    "insert_features": {
      "anyOf": [
        {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Insert Features"
    },
    "pcr_products": {
      "items": {
        "type": "object"
      },
      "title": "Pcr Products",
      "type": "array"
    },
    "restrictase": {
      "title": "Restrictase",
      "type": "string"
    }
  },
  "required": [
    "backbone",
    "pcr_products",
    "restrictase",
    "construct_name"
  ],
  "title": "mitochondria_golden_gate_cloning_resultArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_golden_gate_cloning_resultOutput",
  "type": "object"
}
Cloning design1 tool
POST/cloning/design/experimentInteractive cloning design: answer strategy questions, then optionally supply backbone/inserts

tool mitochondria_design_cloning_experiment

operationId design_cloning_experiment

Description

for compatibility checks and a workflow plan. answers keys: insert_orientation (random|defined),

inserts_per_backbone (int), is_modular (bool). execute default false; when true runs workflow steps

inline including primers and GenBank when execution_context is provided. inserts max 10.

Input

{
  "properties": {
    "answers": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Answers"
    },
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "backbone": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Backbone"
    },
    "execute": {
      "default": false,
      "title": "Execute",
      "type": "boolean"
    },
    "execution_context": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Execution Context"
    },
    "inserts": {
      "anyOf": [
        {
          "items": {
            "type": "object"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Inserts"
    },
    "preferred_restrictases": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Preferred Restrictases"
    }
  },
  "title": "mitochondria_design_cloning_experimentArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_design_cloning_experimentOutput",
  "type": "object"
}
Codon optimization1 tool
POST/codon/optimizationinsert is an oligo object. A stored {id} loads this key's row; {seq} is inline; {id, seq} saves.

tool mitochondria_codon_optimization

operationId codon_optimization

Description

host default e.coli (must be a label the service supports). restriction_sites_only default false

(true = recode only codons overlapping listed enzyme sites).

overwrite applies when saving the input oligo (existing id without overwrite: 409).

save_results true stores the optimized DNA as an insert and returns a compact handle plus

summary unless full_results is also true (then optimized_seq is included too). New rows that

would exceed the stored-oligo cap (default 100) are 403 (Forbidden, not token Payment Required).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "full_results": {
      "default": false,
      "title": "Full Results",
      "type": "boolean"
    },
    "host": {
      "default": "e.coli",
      "title": "Host",
      "type": "string"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "restrictases": {
      "items": {
        "type": "string"
      },
      "title": "Restrictases",
      "type": "array"
    },
    "restriction_sites_only": {
      "default": false,
      "title": "Restriction Sites Only",
      "type": "boolean"
    },
    "save_results": {
      "default": false,
      "title": "Save Results",
      "type": "boolean"
    }
  },
  "required": [
    "restrictases",
    "insert"
  ],
  "title": "mitochondria_codon_optimizationArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_codon_optimizationOutput",
  "type": "object"
}
Mutations2 tools
POST/mutations/designResolves a mutation notation against a complete CDS and returns the codon edit that

tool mitochondria_mutation_design

operationId mutation_design

Description

realizes it, without changing the sequence. insert must start with ATG, have a length

divisible by three, and end with an in-frame stop codon; otherwise 422.

mutation_notation accepts protein shorthand (G12D or p.G12D), three-letter protein form

(p.Gly12Asp), or a coding substitution (c.35G>A). The wild-type residue or base must match

the sequence, and the position must be inside it; mismatches and unrecognized notations

are 422. Results: protein_change, coding_change, wildtype_codon, mutant_codon, cds_position.

insert is an oligo object. A stored {id} loads this key's row; {seq} is inline; {id, seq} saves.

overwrite applies when saving the input oligo (existing id without overwrite: 409).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "mutation_notation": {
      "title": "Mutation Notation",
      "type": "string"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    }
  },
  "required": [
    "insert",
    "mutation_notation"
  ],
  "title": "mitochondria_mutation_designArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_mutation_designOutput",
  "type": "object"
}
POST/mutations/applyOligo contract: insert is {id}, {seq}, or {id, seq} (save). Prefer {id} after persist.

tool mitochondria_mutation_apply

operationId mutation_apply

Description

Applies ordered substitutions to a complete CDS. Each mutations entry has coding_change

and/or mutation_notation; empty list is 422. Double mutants are two entries.

Without save_results: seq, protein_translation, warnings, applied. With save_results:

compact insert handle plus summary (no seq) unless full_results also true;

full_results alone is ignored.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "full_results": {
      "default": false,
      "title": "Full Results",
      "type": "boolean"
    },
    "insert": {
      "title": "Insert",
      "type": "object"
    },
    "mutations": {
      "items": {
        "type": "object"
      },
      "title": "Mutations",
      "type": "array"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "save_results": {
      "default": false,
      "title": "Save Results",
      "type": "boolean"
    }
  },
  "required": [
    "insert",
    "mutations"
  ],
  "title": "mitochondria_mutation_applyArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_mutation_applyOutput",
  "type": "object"
}
Constructs1 tool
POST/constructs/validateChecks an assembled construct against what the experiment intended, without changing it.

tool mitochondria_construct_validate

operationId construct_validate

Description

construct is an oligo object that must resolve to a GenBank record: {genbank} is inline,

a stored {id} loads this key's construct, {id, genbank} saves then validates.

The insert coding sequence is the annotated CDS feature — the one matching expected_insert

when given, otherwise the first CDS that a promoter reads toward (the first CDS on the

record when no promoter reads toward any of them).

Results: validation_passed plus checks with reading_frame_preserved (CDS length divisible

by three and starting at ATG), premature_stop_codons (TRUE means an in-frame stop appears

before the last codon, which is a failure), orientation_correct (CDS on the same strand as

the promoter that drives it), promoter_compatible (a promoter feature, or a feature labelled

CMV, lies upstream of the CDS in its own reading direction), and mutation_present.

mutation_present is true when the CDS contains expected_insert DNA and its translation

carries expected_protein_change (G12D, p.G12D, or p.Gly12Asp); with no expectation it is

true. validation_passed requires every check true and premature_stop_codons false.

Failed checks are 200 with false flags; a missing or unreadable GenBank record, a record

with no CDS, and unrecognized mutation notation are 422.

overwrite applies when saving an oligo input (existing id without overwrite: 409).

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "construct": {
      "title": "Construct",
      "type": "object"
    },
    "expected_insert": {
      "anyOf": [
        {
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expected Insert"
    },
    "expected_protein_change": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Expected Protein Change"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    }
  },
  "required": [
    "construct"
  ],
  "title": "mitochondria_construct_validateArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_construct_validateOutput",
  "type": "object"
}
Oligos4 tools
POST/oligosPersist DNA under this key for later {id}-only reuse. type required: insert,

tool mitochondria_oligos_create

operationId oligos_create

Description

backbone, or construct (never catalog — 422). Provide seq and/or genbank (must

match if both). Omit id for a server UUID. overwrite default false (409 on

conflicting rewrite). Cap exceeded: 403. Success 201 with full stored oligo.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "genbank": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Genbank"
    },
    "id": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Id"
    },
    "name": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Name"
    },
    "overwrite": {
      "default": false,
      "title": "Overwrite",
      "type": "boolean"
    },
    "seq": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Seq"
    },
    "topology": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Topology"
    },
    "type": {
      "title": "Type",
      "type": "string"
    }
  },
  "required": [
    "type"
  ],
  "title": "mitochondria_oligos_createArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_oligos_createOutput",
  "type": "object"
}
GET/oligosPaged summaries for this key (id, type, name, topology, seq_length, has_genbank,

tool mitochondria_oligos_list

operationId oligos_list

Description

timestamps — not full seq/genbank). type filters insert, backbone, or construct

(invalid type: 422). limit default 50, clamped 0–100; offset default 0.

Envelope results: {items, total} where total is the unpaged count after type filter.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    },
    "offset": {
      "default": 0,
      "title": "Offset",
      "type": "integer"
    },
    "type": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Type"
    }
  },
  "title": "mitochondria_oligos_listArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_oligos_listOutput",
  "type": "object"
}
GET/oligos/{id}Full oligo for this key, including seq and genbank when stored.

tool mitochondria_oligos_get

operationId oligos_get

Description

Missing or other-key ids: 404 (Not Found). Compute routes that load {id} and

miss a row return 422 instead.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "id": {
      "title": "Id",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "title": "mitochondria_oligos_getArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_oligos_getOutput",
  "type": "object"
}
DELETE/oligos/{id}Hard-deletes the oligo for this key and frees a storage slot. There is no undelete.

tool mitochondria_oligos_delete

operationId oligos_delete

Description

Missing or other-key ids: 404. Success results: {id} of the deleted oligo.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "id": {
      "title": "Id",
      "type": "string"
    }
  },
  "required": [
    "id"
  ],
  "title": "mitochondria_oligos_deleteArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_oligos_deleteOutput",
  "type": "object"
}
Catalog2 tools
GET/catalog/vectorsRead-only list of curated backbone vectors. Each item has name, description, and

tool mitochondria_catalog_vectors_list

operationId catalog_vectors_list

Description

length_bp. Currently includes pcDNA3.1. Catalog entries are not stored under the

API key; persist a copy with mitochondria_oligos_create when you need a reusable oligo.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    }
  },
  "title": "mitochondria_catalog_vectors_listArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_catalog_vectors_listOutput",
  "type": "object"
}
GET/catalog/vectors/{name}Returns catalog oligo: id, type "catalog", name, seq, genbank, topology, MCS

tool mitochondria_catalog_vector_get

operationId catalog_vector_get

Description

bounds. Pass {id, name, type: "catalog"} into cloning — do not paste seq/genbank

afterward. Never POST type catalog. Names case-sensitive; unknown: 404.

Input

{
  "properties": {
    "api_key": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Api Key"
    },
    "name": {
      "title": "Name",
      "type": "string"
    }
  },
  "required": [
    "name"
  ],
  "title": "mitochondria_catalog_vector_getArguments",
  "type": "object"
}

Output

{
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "mitochondria_catalog_vector_getOutput",
  "type": "object"
}

Same MCP catalog as https://api.nexio.bio/mcp-config; styling matches this app.