Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Connect AI assistants (MCP)

CyteType runs a Model Context Protocol (MCP) server. Add it to an AI assistant that supports MCP, such as Claude, Claude Code or Cursor, and the assistant can open your CyteType jobs, read their annotations and the evidence behind them, query their data and compare jobs with each other. All tools are read-only: they never change your jobs.

Server URL: https://mcp.cytetype.nygen.io

The main use is synthesis across jobs. Connect several reports and ask the assistant which findings agree, which differ, and which differences are supported by marker genes, metadata, expression, differential expression or cell-cell interactions. Typical uses:

Chat is the alternative inside CyteType: it uses CyteType-hosted models and saves figures and tables. The MCP connector brings the same data to the assistant you already use.

Before you start

You do not need an API key: the connector uses its own sign-in.

Set up your client

Claude (web, desktop and mobile)

  1. In Claude, open Customize, then Connectors (https://claude.ai/customize/connectors).

  2. Click Add custom connector.

  3. Enter the name CyteType and the server URL https://mcp.cytetype.nygen.io, and continue through the dialog. If it asks how to register the OAuth client, choose Register automatically: the CyteType server supports automatic (dynamic) registration.

  4. Click Add, then sign in (see Sign in). If the connector shows Connect instead, click it to sign in.

  5. In a conversation, click + next to the message box, choose Connectors and turn CyteType on.

On Team and Enterprise plans, an organization owner first adds the connector under Organization settings, Connectors. Each member then finds it under Customize, Connectors, clicks Connect and signs in with their own CyteType account. A connector added in Claude is available in the web app, Claude Desktop and the mobile apps.

Claude Code

Add the server from your terminal:

claude mcp add --transport http --scope user cytetype https://mcp.cytetype.nygen.io

--scope user makes the connector available in all your projects; without it, it is added to the current project only. Then start Claude Code, run /mcp, select cytetype and choose Authenticate. Your browser opens the CyteType sign-in page.

claude mcp list shows whether the server is connected or still needs authentication. claude mcp remove cytetype removes it, together with its stored sign-in.

Cursor

Add the server to ~/.cursor/mcp.json (all projects) or to .cursor/mcp.json in a project folder:

{
  "mcpServers": {
    "cytetype": {
      "url": "https://mcp.cytetype.nygen.io"
    }
  }
}

Cursor supports OAuth sign-in for remote servers: when it connects to the server, it sends you to the CyteType sign-in page. You can enable or disable the server in Cursor’s MCP settings.

Other clients

Any MCP client can connect if it supports:

A client that only runs local (stdio) servers can connect through the mcp-remote bridge, which needs Node.js and handles the sign-in through your browser. In the client’s MCP configuration:

{
  "mcpServers": {
    "cytetype": {
      "command": "npx",
      "args": ["mcp-remote", "https://mcp.cytetype.nygen.io"]
    }
  }
}

Sign in

The first time your client connects, it opens the CyteType sign-in page (“Sign in to connect”):

  1. Enter your email address and click Continue.

  2. Enter the 8-digit code from the email. It is checked as soon as you have entered all eight digits, or when you click Verify.

  3. The page confirms and sends you back to your client.

Signing in follows the website’s rules: you need an institutional email address, a first sign-in creates your account, and reports already shared with that address become available.

Finish signing in within 30 minutes; after that, start the connection again from your client. Your client then stays signed in while you use it: access renews automatically and expires after 6 days without use, after which you sign in again. To stop a client from using your account, remove or disconnect the connector in that client. CyteType cannot end a client’s sign-in from its side: the access a client already holds lapses on its own, within an hour, and its renewal within 6 days.

You must sign in to use the connector, also for public reports. Once signed in, you can open:

These are the same rules as for the report page and Chat (see Visibility and sharing). Unlike Chat, the connector also opens jobs that are still running.

Connect jobs

Ask the assistant to connect a job by its report ID or report URL (https://cytetype.nygen.io/report/<job_id>). Without an ID, it can list your jobs or, in clients that support it, let you choose one. The response gives the job’s status:

StatusMeaning
completedThe job is finished
processing, pendingThe job is still running; its annotation results appear when it reaches its final step, so treat what you see as partial
failedThe job failed
incompleteAn older job with missing results

It also gives the number of clusters and annotated clusters, the start of the study context and a summary per cluster.

Tools

The tools fall into six groups. Your assistant chooses them from your request; you do not need to name them.

Session

ToolWhat it does
connect_jobConnects a job by ID or report URL, or lets you choose from your jobs; reports its status and whether results are partial
list_my_jobsLists up to 100 recent completed jobs you can open: your own, those shared with you and those visible to your organization (not other people’s public jobs, and not archived jobs)
list_connected_jobsLists the connected jobs with status, cluster counts and labels, and any that were disconnected or could not be loaded
disconnect_jobRemoves a job from the connected jobs; the job itself is not changed

Job overview and comparison

ToolWhat it does
get_job_overviewOne row per cluster: label, classification, L1 to L5 levels, Cell Ontology term, cell state, reviewer confidence, selection score, heterogeneity, status and your original label
list_clustersClusters with label, status, top 10 marker genes, reviewer confidence, selection score, heterogeneity, original label and label-comparison score
get_cluster_detailEverything about one cluster, including marker genes and the context narrative
get_study_contextThe study context used during annotation, with the submitted study description, organism, keywords and header tags
compare_connected_jobsLines up clusters across connected jobs, with each job’s organism, keywords and study summary

Expression and metadata

ToolWhat it does
lookup_gene_expressionPercentage of cells in each cluster that express each gene (not mean expression), for up to 30 genes
summarize_gene_expressionPer-cell expression statistics for groups of cells defined by metadata columns, for up to 10 genes and 40 groups; needs the uploaded files
describe_metadataThe cell metadata columns, their types, value counts and likely roles (cluster, sample, donor, disease, treatment)
query_metadataOne read-only SQL SELECT over the cell metadata table obs; at most 200 rows are returned
cluster_metadata_enrichmentPer-cluster count and percentage of cells with a given metadata value
run_differential_expressionDifferential expression between two non-overlapping groups of clusters, stating the method used
get_cell_interactionsLigand-receptor interactions for the whole dataset or one cluster

Annotation evidence

ToolWhat it does
get_annotation_evidenceSupporting, missing and unexpected genes behind a label, with reasoning
get_annotation_context_fitHow the label fits the tissue, study and cluster context
get_cell_identityCell state with its gene sets, the Cell Ontology term and why it was chosen, and the granular cell type
get_v2_annotation_traceHow the final label was reached: the L1 to L5 levels, classification, why no deeper level was supported, and the decision record
get_annotation_candidatesThe candidate cell types considered, with reasoning and reasons for rejection
get_candidate_gene_groupsSupporting and refuting gene sets for one candidate
get_embedding_coordinatesSubsampled 2D coordinates with cluster centroids: 2,000 points by default, at most 5,000

Quality and review

ToolWhat it does
get_quality_controlReviewer confidence with reasoning, selection score, heterogeneity, classifier accuracy, marker validation against CellGuide and SingleCellBase, and the predictions of an independent cell-type model compared with the label
get_expert_reviewsSpecialist reviewer assessments: the evidence examined, strengths, weaknesses, interpretation, alternatives and conclusion
get_neighbor_degsPre-computed differential genes against the most similar clusters
get_co_expression_evidenceGene pairs tested for co-expression within a cluster’s cells, with statistics and rationale
get_pathway_detailsPathway enrichment per gene-set library, with normalized enrichment scores

Targets and labels

ToolWhat it does
get_target_discoveryThe job’s latest target analysis run: status, options, design, populations in scope and the top candidates of each ranking (10 by default, at most 25)
compare_labels_cyteontoScores the job’s original cluster labels against CyteType’s labels from 0 to 100 with CyteOnto, and gives the reason for each skipped cluster

Reading the results

Example prompts

Limits

Besides the limits on connected jobs and query sizes described above, two tools have hourly limits per user: cell-level differential expression with run_differential_expression (20 runs per hour) and compare_labels_cyteonto (10 requests per hour). When an hourly limit is reached, the tool says when to try again. Usage limits and quotas lists every connector limit.

Privacy

See Security and privacy.