SeqbenchMcp SDK

SeqbenchMcp SDK

SeqBench API client, generated from the OpenAPI spec.

REST API for DNA, RNA and protein sequence analysis, molecular cloning, primer design and CRISPR guide design.

Learn more about SeqBench API at seqbench.com/mcp.

This is an unofficial SDK for the SeqBench public API, generated by Voxgig with @voxgig/sdkgen. It is not affiliated with, endorsed by, or sponsored by the upstream API provider.

Learn more about Voxgig SDKs at voxgig.com/sdk.

Metadata kindly supplied by www.freepublicapis.com.

TypeScript, Python, PHP, Golang, Ruby, Lua SDKs, a CLI, an interactive REPL, and an MCP server for AI agents — all generated from one OpenAPI spec by @voxgig/sdkgen.

Entities, not endpoints

This SDK exposes the API as 85 semantic entities that you call directly, instead of assembling URL paths and query strings. See the Entities table below for the full list. Entities are Capitalised to mark them as the primary surface, each with the operations they support (load, create):

const client = new SeqbenchMcpSDK()
const alphafoldlookup = await client.AlphafoldLookup().create({
  accession: 'example',
  ok: 'example',
  provenance: {},
  result: {},
  tool: 'example',
})

Thinking in entities keeps the mental model small — for people and AI agents alike — rather than reasoning about raw HTTP routes and query parameters.

Offline unit testing

Every SDK ships a built-in test mode that swaps the HTTP transport for an in-memory mock, so your unit tests run fully offline — no server, no network, and no credentials:

TypeScript

const client = SeqbenchMcpSDK.test()
const batch = await client.Batch().load()
// batch is a bare Batch populated with mock data
console.log(batch)

Python

client = SeqbenchMcpSDK.test()
batch = client.Batch().load()
print(batch)

PHP

// Seed fixture data so offline calls resolve without a live server.
$client = SeqbenchMcpSDK::test([
    "entity" => ["batch" => ["test01" => []]],
]);
$batch = $client->Batch()->load();

Golang

client := sdk.Test()
result, err := client.Batch(nil).Load(
    nil, nil,
)

Ruby

# Seed fixture data so offline calls resolve without a live server.
client = SeqbenchMcpSDK.test({
  "entity" => { "batch" => { "test01" => {} } },
})
batch = client.Batch.load()

Lua

local client = sdk.test()
local result, err = client:Batch():load()

Packages

LanguagePackageInstall
TypeScript@voxgig-sdk/seqbench-mcppublish pending — install from git tag
Pythonvoxgig-sdk-seqbench-mcppublish pending — install from git tag
PHPvoxgig-sdk/seqbench-mcppublish pending — install from git tag
Golanggithub.com/voxgig-sdk/seqbench-mcp-sdk/gogo get github.com/voxgig-sdk/seqbench-mcp-sdk/go@latest
Rubyvoxgig-sdk-seqbench-mcppublish pending — install from git tag
Luavoxgig-sdk-seqbench-mcppublish pending — install from git tag
Go CLIgithub.com/voxgig-sdk/seqbench-mcp-sdk/go-cligo install github.com/voxgig-sdk/seqbench-mcp-sdk/go-cli/cmd/seqbench-mcp@latest
Go MCP servergithub.com/voxgig-sdk/seqbench-mcp-sdk/go-mcpgo get github.com/voxgig-sdk/seqbench-mcp-sdk/go-mcp@latest

Quickstart

TypeScript

import { SeqbenchMcpSDK } from '@voxgig-sdk/seqbench-mcp'

const client = new SeqbenchMcpSDK({
  apikey: process.env.SEQBENCH_MCP_APIKEY,
})

See the TypeScript README for the full guide.

Surfaces

SurfacePath
SDK (TypeScript, Python, PHP, Golang, Ruby, Lua)ts/ py/ php/ go/ rb/ lua/
CLIgo-cli/
MCP servergo-mcp/

Use it from an AI agent (MCP)

The generated MCP server exposes every operation in this SDK as an MCP tool that Claude, Cursor or Cline can call directly. Build and register it:

cd go-mcp && go build -o seqbench-mcp-mcp .

Then add it to your agent’s MCP config (Claude Desktop, Cursor, etc.):

{
  "mcpServers": {
    "seqbench-mcp": {
      "command": "/abs/path/to/seqbench-mcp-mcp"
    }
  }
}

Entities

The API exposes 85 entities:

EntityDescriptionAPI path
AlphafoldLookupThe AlphafoldLookup entity (create)./alphafold_lookup
AsoDesignThe AsoDesign entity (create)./aso_design
BaseEditingDesignThe BaseEditingDesign entity (create)./base_editing_design
BatchThe Batch entity (create, load)./batch
BatchWorkflowThe BatchWorkflow entity (create, load)./workflow
CharacterizeSequenceThe CharacterizeSequence entity (create)./characterize_sequence
CloningSimulateThe CloningSimulate entity (create)./cloning_simulate
CodonAdaptationIndexThe CodonAdaptationIndex entity (create)./codon_adaptation_index
CodonOptimizeThe CodonOptimize entity (create)./codon_optimize
ConstructAutofixThe ConstructAutofix entity (create)./construct_autofix
ConstructQcThe ConstructQc entity (create)./construct_qc
CrisprGrnaDesignThe CrisprGrnaDesign entity (create)./crispr_grna_design
CrisprHdrDonorThe CrisprHdrDonor entity (create)./crispr_hdr_donor
CrisprOfftargetCheckThe CrisprOfftargetCheck entity (create)./crispr_offtarget_check
CrossDimerThe CrossDimer entity (create)./cross_dimer
DnaMolarityThe DnaMolarity entity (create)./dna_molarity
DoubleDigestThe DoubleDigest entity (create)./double_digest
ExportEchoPicklistThe ExportEchoPicklist entity (create)./export_echo_picklist
ExportOpentronsProtocolThe ExportOpentronsProtocol entity (create)./export_opentrons_protocol
ExportPlateLayoutThe ExportPlateLayout entity (create)./export_plate_layout
ExpressionHeatmapClusterThe ExpressionHeatmapCluster entity (create)./expression_heatmap_cluster
FastqQcReportThe FastqQcReport entity (create)./fastq_qc_report
FastqTrimThe FastqTrim entity (create)./fastq_trim
FindOrfThe FindOrf entity (create)./find_orfs
FormatSequenceThe FormatSequence entity (create)./format_sequence
FunctionalEnrichmentThe FunctionalEnrichment entity (create)./functional_enrichment
GcContentThe GcContent entity (create)./gc_content
GeneDossierThe GeneDossier entity (create)./gene_dossier
GeneExpressionThe GeneExpression entity (create)./gene_expression
GeneModelThe GeneModel entity (create)./gene_model
GoldenGateFidelityThe GoldenGateFidelity entity (create)./golden_gate_fidelity
HgvsConvertThe HgvsConvert entity (create)./hgvs_convert
IdMapPollThe IdMapPoll entity (create)./id_map_poll
IdMapSubmitThe IdMapSubmit entity (create)./id_map_submit
InSilicoPcrThe InSilicoPcr entity (create)./in_silico_pcr
KaspPrimerDesignThe KaspPrimerDesign entity (create)./kasp_primer_design
ListToolThe ListTool entity (load)./
MeltingTemperatureThe MeltingTemperature entity (create)./melting_temperature
MotifFinderThe MotifFinder entity (create)./motif_finder
MultipleSequenceAlignmentThe MultipleSequenceAlignment entity (create)./multiple_sequence_alignment
OligoAnalysiThe OligoAnalysi entity (create)./oligo_analysis
OrthologMapThe OrthologMap entity (create)./ortholog_map
PairwiseAlignmentThe PairwiseAlignment entity (create)./pairwise_alignment
ParseGenbankThe ParseGenbank entity (create)./parse_genbank
ParseSangerTraceThe ParseSangerTrace entity (create)./parse_sanger_trace
PlasmidAnnotateThe PlasmidAnnotate entity (create)./plasmid_annotate
PlasmidDeepAnnotateThe PlasmidDeepAnnotate entity (create)./plasmid_deep_annotate
PlasmidFullReportThe PlasmidFullReport entity (create)./plasmid_full_report
PlasmidIdentifyThe PlasmidIdentify entity (create)./plasmid_identify
PrimeEditingDesignThe PrimeEditingDesign entity (create)./prime_editing_design
PrimeEditingTwinDesignThe PrimeEditingTwinDesign entity (create)./prime_editing_twin_design
PrimerDesignThe PrimerDesign entity (create)./primer_design
PrimerSpecificityThe PrimerSpecificity entity (create)./primer_specificity
ProteaseDigestionThe ProteaseDigestion entity (create)./protease_digestion
ProteinAnnotatePollThe ProteinAnnotatePoll entity (create)./protein_annotate_poll
ProteinAnnotateSubmitThe ProteinAnnotateSubmit entity (create)./protein_annotate_submit
ProteinHydrophobicityThe ProteinHydrophobicity entity (create)./protein_hydrophobicity
ProteinPropertyThe ProteinProperty entity (create)./protein_properties
RandomSequenceThe RandomSequence entity (create)./random_sequence
RestrictionSiteThe RestrictionSite entity (create)./restriction_sites
ReverseComplementThe ReverseComplement entity (create)./reverse_complement
ReverseTranslateThe ReverseTranslate entity (create)./reverse_translate
RnaFoldThe RnaFold entity (create)./rna_fold
SangerVsReferenceThe SangerVsReference entity (create)./sanger_vs_reference
SavePermalinkThe SavePermalink entity (create)./save_permalink
SeqfileStatThe SeqfileStat entity (create)./seqfile_stats
SequenceFetchThe SequenceFetch entity (create)./sequence_fetch
SequenceFormatConvertThe SequenceFormatConvert entity (create)./sequence_format_convert
SequenceReportThe SequenceReport entity (create)./sequence_report
SequenceSearchThe SequenceSearch entity (create)./sequence_search
SequencingReadbackVerifyThe SequencingReadbackVerify entity (create)./sequencing_readback_verify
SessionCreateThe SessionCreate entity (create)./session_create
SessionGetThe SessionGet entity (create)./session_get
SessionRunThe SessionRun entity (create)./session_run
SessionSetThe SessionSet entity (create)./session_set
SirnaDesignThe SirnaDesign entity (create)./sirna_design
SiteDirectedMutagenesiThe SiteDirectedMutagenesi entity (create)./site_directed_mutagenesis
TranslateThe Translate entity (create)./translate
VariantAnnotateThe VariantAnnotate entity (create)./variant_annotate
VariantComparatorThe VariantComparator entity (create)./variant_comparator
VerifyAssemblyThe VerifyAssembly entity (create)./verify_assembly
VerifyConstructThe VerifyConstruct entity (create)./verify_construct
VirtualGelThe VirtualGel entity (create)./virtual_gel
VolcanoPlotDataThe VolcanoPlotData entity (create)./volcano_plot_data
WebSearchThe WebSearch entity (create)./web_search

The operations available across these entities are load, create — see each entity’s own list above for exactly which it supports.

Quickstart in other languages

Python

import os
from seqbenchmcp_sdk import SeqbenchMcpSDK

client = SeqbenchMcpSDK({
    "apikey": os.environ.get("SEQBENCH_MCP_APIKEY"),
})

PHP

<?php
require_once 'seqbenchmcp_sdk.php';

$client = new SeqbenchMcpSDK([
    "apikey" => getenv("SEQBENCH_MCP_APIKEY"),
]);

Golang

import sdk "github.com/voxgig-sdk/seqbench-mcp-sdk/go"

client := sdk.NewSeqbenchMcpSDK(map[string]any{
    "apikey": os.Getenv("SEQBENCH_MCP_APIKEY"),
})

Ruby

require_relative "SeqbenchMcp_sdk"

client = SeqbenchMcpSDK.new({
  "apikey" => ENV["SEQBENCH_MCP_APIKEY"],
})

Lua

local sdk = require("seqbench-mcp_sdk")

local client = sdk.new({
  apikey = os.getenv("SEQBENCH_MCP_APIKEY"),
})

Direct and prepare

For endpoints the entity model doesn’t cover, use the low-level methods:

  • direct(fetchargs) — build and send an HTTP request in one step.
  • prepare(fetchargs) — build the request without sending it.

Both accept a map with path, method, params, query, headers, and body. See the How-to guides below.

How-to guides

Make a direct API call

When the entity interface does not cover an endpoint, use direct:

TypeScript:

const result = await client.direct({
  path: '/api/resource/{id}',
  method: 'GET',
  params: { id: 'example' },
})
if (result instanceof Error) {
  throw result
}
console.log(result.data)

Python:

result = client.direct({
    "path": "/api/resource/{id}",
    "method": "GET",
    "params": {"id": "example"},
})

PHP:

$result = $client->direct([
    "path" => "/api/resource/{id}",
    "method" => "GET",
    "params" => ["id" => "example"],
]);

Go:

result, err := client.Direct(map[string]any{
    "path":   "/api/resource/{id}",
    "method": "GET",
    "params": map[string]any{"id": "example"},
})
if err != nil {
    panic(err)
}
fmt.Println(result)

Ruby:

result = client.direct({
  "path" => "/api/resource/{id}",
  "method" => "GET",
  "params" => { "id" => "example" },
})

Lua:

local result, err = client:direct({
  path = "/api/resource/{id}",
  method = "GET",
  params = { id = "example" },
})

Advanced

Everyday use only needs the sections above. This explains the internals behind every call — relevant when writing custom features.

Every SDK call runs the same five-stage pipeline:

  1. Point — resolve the API endpoint from the operation definition.
  2. Spec — build the HTTP specification (URL, method, headers, body).
  3. Request — send the HTTP request.
  4. Response — receive and parse the response.
  5. Result — extract the result data for the caller.

A feature hook fires at each stage (e.g. PrePoint, PreSpec, PreRequest), so features can inspect or modify the pipeline without forking the SDK.

Features

FeaturePurpose
TestFeatureIn-memory mock transport for testing without a live server

Pass custom features via the extend option at construction time.

Per-language documentation

Upstream API

This SDK is generated from the upstream OpenAPI specification. It is an unofficial client and is not affiliated with the API provider.

Security

Please report security issues to security@voxgig.com. See SECURITY.md. Do not open public issues for suspected vulnerabilities.


Generated from the SeqBench API OpenAPI spec by @voxgig/sdkgen.

Get the Voxgig dispatch

Short notes on building SDKs, CLIs, REPLs, and MCPs for API-first teams, plus the occasional Fireside episode pick.

By signing up you agree to our Terms and Conditions.