Documentation
MCP Server
The TeselaGen MCP server exposes 34 tools over the Model Context Protocol, so Claude, your IDE, or any MCP-capable client can search and create sequences in your LIMS, query public scientific databases, and run design and assembly jobs on your behalf.
Endpoint: https://mcp.teselagen.com/mcp (Streamable HTTP). A bare https://mcp.teselagen.com is rewritten to that path, so either form works in a client.
Before you start
- A TeselaGen account on the deployment whose data you want to reach.
- An API Password, generated in the TeselaGen web app under Settings → API Password. You sign in to the MCP connector with your email and this API Password — not the password you use for the web app.
- Your plan. Community accounts get 22 tools and 10 tool calls per minute; Enterprise accounts get all 34 and no per-minute cap.
Your connector URL
Multi-tenant deployments add an instance parameter that tells the server which TeselaGen host to authenticate against. It is the leftmost label of your TeselaGen hostname — for jbei.teselagen.com the instance is jbei. Omit it and you get the deployment's default tenant; an unrecognized name is rejected with a 400.
# Single-tenant / platform
https://mcp.teselagen.com/mcp
# Named deployment
https://mcp.teselagen.com/mcp?instance=jbeiThe TeselaGen web app generates the exact URL and config snippet for your deployment under Settings → MCP Access. Copy it from there if you are unsure which instance you are on.
Connect your client
The server speaks remote MCP over HTTP and handles authorization itself, so there is nothing to install. Every client below opens a browser window for sign-in the first time you connect, then refreshes tokens on its own.
Claude Desktop
- Open Settings → Connectors → Add custom connector.
- Paste your connector URL (
https://mcp.teselagen.com/mcp) and save. - Sign in with your TeselaGen email and API Password in the browser window that opens, then approve access.
Claude Code
claude mcp add --scope user --transport http teselagen "https://mcp.teselagen.com/mcp"Run /mcp inside Claude Code to trigger the browser sign-in, then claude mcp list to confirm the server is connected. Sign-in redirects your browser to a http://localhost:<port>/callback URL — that is the expected loopback redirect for native apps (RFC 8252 §7.3), not a misconfiguration.
Any MCP-capable IDE
Add the server as a remote MCP server in your editor's MCP configuration file — Cursor keeps one at ~/.cursor/mcp.json, and other editors use the same entry shape in their own file. The OAuth flow runs in the browser on first use.
{
"mcpServers": {
"teselagen": { "url": "https://mcp.teselagen.com/mcp" }
}
}Clients that ask for an explicit transport take the same entry with "type": "http" alongside the URL.
Authentication
- OAuth 2.1 authorization code flow with mandatory PKCE (
S256), dynamic client registration, and public clients only — no client secret to manage. The single scope ismcp. - Sign-in is your TeselaGen email plus the API Password from Settings → API Password. Your client never sees that credential after the handshake.
- Token lifetimes: access tokens last one hour; refresh tokens last 30 days and rotate on every use. Replaying an old refresh token revokes the whole token family, and you re-authorize.
- Discovery follows the MCP authorization spec:
/.well-known/oauth-authorization-serverand/.well-known/oauth-protected-resource. Clients read these automatically. - To revoke access, disconnect the TeselaGen connector in your client, or rotate your API Password in TeselaGen — rotation cuts the server off from acting on your behalf immediately. Cached sessions clear within about five minutes.
How credentials, tokens, and logs are stored and retained is covered in the MCP Server Privacy section.
Tool reference
Every tool returns Markdown text rather than structured JSON, and write tools are additive: they create records or submit jobs, and never delete or overwrite existing data.
Community — 22 tools, available on every plan
| Tool | What it does | Parameters (default) |
|---|---|---|
search_sequences | Search DNA sequences in LIMS by name, description, or properties | query · limit (10) |
get_sequence | Retrieve a DNA sequence record by ID | sequence_id |
search_aa_sequences | Search amino acid (protein) sequences in LIMS | query · limit (10) |
get_aa_sequence | Retrieve a protein sequence record by ID | sequence_id |
search_pubmed | Search PubMed for scientific literature | query · max_results (5) |
search_uniprot | Search UniProt for protein sequences and annotations | query · limit (5) |
search_pubchem | Look up chemical structures and properties by name, CID, SMILES, or InChI | compound |
search_kegg | Search KEGG for pathway, compound, or gene information | query · database (pathway | compound | gene) |
search_genbank | Search NCBI GenBank for nucleotide and protein sequences | query · limit (5) |
fetch_genbank_record | Fetch record metadata and a 200 bp sequence preview | record_id · database (nucleotide) |
search_pdb_structures | Search the RCSB PDB for 3D protein structures | query · limit (5) |
optimize_codons | Codon-optimize a DNA sequence for a target organism | sequence · organism |
design_primers | Design PCR primers with Primer3 | sequence · target_start (0) · target_length (0 = whole sequence) |
translate_sequence | Translate DNA to its protein sequence | sequence |
reverse_complement | Return the reverse complement of a DNA sequence | sequence |
smiles_to_structure | Convert a SMILES string to a molecular structure | smiles |
molecular_descriptors | Calculate MW, logP, TPSA and related descriptors from SMILES | smiles |
submit_assemblywrite | Submit a design for J5 assembly; returns an Assembly Batch ID | design_id |
check_assembly_status | Check the status of a J5 assembly job | assembly_batch_id |
get_eln_entries | Read Electronic Lab Notebook entries from LIMS | query · limit (10) |
create_eln_entrywrite | Write a new Electronic Lab Notebook entry | title · content |
search_tg_docs | Search TeselaGen platform documentation and knowledge base | query |
Enterprise — 12 additional tools
| Tool | What it does | Parameters (default) |
|---|---|---|
create_sequencewrite | Create a DNA sequence record in LIMS | name · sequence · circular (false) |
create_sequence_from_genbankwrite | Fetch a GenBank record and save it straight to LIMS, without routing the sequence through the model | record_id · name · circular · database (nucleotide) |
create_aa_sequencewrite | Create a protein sequence record in LIMS | name · sequence |
create_partwrite | Annotate a part on an existing sequence | sequence_id · name · start · end |
upload_molecular_structurewrite | Download a PDB structure by RCSB ID and upload it to LIMS | pdb_id · description · aa_sequence_id |
create_chemical_compoundwrite | Create a chemical compound record from SMILES | name · smiles |
run_j5_assemblywrite | Run J5 assembly design for a sequence via auto-partitioning | sequence_id |
get_j5_parameterswrite | Create a J5 design with explicit assembly method and column parameters (creates, despite the get_ prefix) | name · assembly_method (Golden Gate) · columns_json ([]) |
design_constructwrite | Build a DNA assembly design from a natural-language request (clone, insert, assemble, partition) | request · organism |
query_binding_db | Query the TeselaGen Bindings DB for drug-target affinity data | pubchem_cid and/or uniprot_id (at least one) |
predict_epitopes | Predict MHC class I binding epitopes from a protein sequence | sequence |
predict_protein_structure | Predict 3D protein structure with ESMFold | sequence |
Limits and credits
- Rate limit: Community accounts are held to 10 tool calls per minute per user in a sliding window. Enterprise accounts have no per-minute cap.
- Credits: tools that run inside the MCP server consume no credits. The remaining tools route through the TeselaGen agent, draw on your wallet balance, and are refused up front when the balance is too low.
- Tools that never cost credits:
translate_sequence,reverse_complement,design_primers,smiles_to_structure,molecular_descriptors,search_pubmed,search_uniprot,search_pubchem,search_kegg,search_genbank,fetch_genbank_record,search_pdb_structures. - Timeouts: tool calls time out after 120 seconds, except
design_constructandget_eln_entries, which delegate to subagents and are allowed 600 seconds.
Errors
401 with WWW-Authenticate: Bearer resource_metadata=…- No token, or the access token expired (access tokens last one hour). Your client should refresh automatically; if it does not, disconnect and reconnect the connector to re-authorize.
429 {"error":"rate_limited","retry_after":n}- Too many requests to an unauthenticated endpoint (sign-in, registration, token). Wait for the seconds given in retry_after or the Retry-After header.
503 with Retry-After: 5- The token store is briefly unavailable. Retry after five seconds; no re-authorization is needed.
400 on an unknown instance- The ?instance= value is not a configured TeselaGen deployment. Copy the URL from the MCP Access tab in LIMS.
Rate limit exceeded: community tier allows 10 requests per minute…- A tool call hit the Community per-user limit. Space out calls or move to Enterprise for unlimited access.
Tool '<name>' is not available on your plan (<tier>). Contact TeselaGen to upgrade.- The tool exists but is Enterprise-only on your account.
Tool '<name>' is not currently available on this server. The backend service may not be configured or enabled. Contact TeselaGen to activate it.- The tool is allowed for your plan, but its backend service is not enabled for your deployment.
Behavior worth knowing
- The server exposes tools only — no MCP resources and no prompts.
- Tool responses are text. Parse them as prose or Markdown, not as a stable JSON schema.
- Writes are not transactional. A tool that times out part-way through a multi-step design can leave partial records behind; check LIMS before retrying.
- No tool is designed to hold protected health information. The two ELN tools read and write free text, so keep PHI out of those fields; regulated workloads need a Business Associate Agreement first. See MCP Server Privacy.
Need a hand connecting?
We can walk your team through setup, tenant configuration, and Enterprise tool access.