NGS360 MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| NGS360_API_URL | No | Base URL of the NGS360 API | http://localhost:8000 |
| NGS360_API_TOKEN | Yes | Bearer token for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_runsC | List sequencing runs with pagination and sorting. Args: page: Page number (1-indexed) per_page: Number of items per page sort_by: Field to sort by sort_order: Sort order (asc or desc) |
| get_runB | Get details of a specific sequencing run. Args: run_id: The run identifier (e.g., '240101_A00000_0001_FLOWCELLID') |
| create_runC | Create a new sequencing run. Args: run_id: Unique run identifier run_date: Run date in YYYY-MM-DD format machine_id: Instrument machine ID run_number: Run number (string) flowcell_id: Flowcell identifier experiment_name: Optional experiment name run_folder_uri: Optional URI to the run folder status: Optional status (In Progress, Uploading, Ready, Resync) run_time: Optional run time in HHMM format (4 digits) |
| update_run_statusA | Update the status of a sequencing run. Args: run_id: The run identifier run_status: New status (In Progress, Uploading, Ready, Resync) |
| search_runsC | Search sequencing runs using OpenSearch. Args: query: Search query string page: Page number (1-indexed) per_page: Number of items per page sort_by: Field to sort by (run_id or experiment_name) sort_order: Sort order (asc or desc) |
| get_run_samplesheetC | Get the sample sheet for a sequencing run. Args: run_id: The run identifier |
| get_run_metricsC | Get demultiplexing metrics for a sequencing run. Args: run_id: The run identifier |
| list_demux_workflowsB | List available demultiplex workflows. |
| get_demux_workflow_configB | Get configuration for a specific demultiplex workflow. Args: workflow_id: The workflow identifier run_id: Optional run ID to prepopulate s3_run_folder_path |
| submit_demux_jobC | Submit a demultiplex workflow job. Args: workflow_id: The workflow identifier run_id: The run to demultiplex inputs: Workflow input parameters |
| associate_sample_with_runB | Associate a sample with a sequencing run. Args: run_id: The run identifier sample_id: UUID of the sample to associate |
| get_samples_for_runB | List sample associations for a sequencing run. Args: run_id: The run identifier |
| clear_samples_for_runA | Remove all sample associations and cleanup for a run (re-demux scenario). Args: run_id: The run identifier |
| remove_sample_from_runC | Remove a single sample association from a run. Args: run_id: The run identifier sample_id: The sample identifier to remove |
| list_jobsA | List batch jobs with optional filtering and sorting. Args: skip: Number of records to skip limit: Maximum number of records to return user: Optional filter by username status_filter: Optional filter by status (SUBMITTED, PENDING, RUNNABLE, STARTING, RUNNING, SUCCEEDED, FAILED) sort_by: Field to sort by (defaults to submitted_on) sort_order: Sort order (asc or desc) |
| get_jobC | Get details of a specific batch job. Args: job_id: The job UUID |
| submit_jobB | Submit a new batch job to AWS Batch. Args: job_name: Name for the batch job job_definition: AWS Batch job definition ARN job_queue: AWS Batch job queue name command: Command string to execute user: Username submitting the job environment: Optional list of environment variables [{"name": "KEY", "value": "VAL"}] |
| update_jobB | Update a batch job's status or metadata. Args: job_id: The job UUID log_stream_name: Optional CloudWatch log stream name status: Optional new status (SUBMITTED, PENDING, RUNNABLE, STARTING, RUNNING, SUCCEEDED, FAILED) viewed: Optional viewed flag |
| get_job_logC | Get the full log output for a batch job. Args: job_id: The job UUID |
| get_job_log_paginatedA | Get paginated log output for a batch job. Args: job_id: The job UUID limit: Number of log lines to return (1-10000) next_token: Pagination token from previous response start_from_head: Start from beginning (true) or end (false) |
| list_projectsB | List projects with pagination and sorting. Args: page: Page number (1-indexed) per_page: Number of items per page sort_by: Field to sort by sort_order: Sort order (asc or desc) |
| get_projectB | Get details of a specific project. Args: project_id: The project identifier (e.g., 'P-1234') |
| create_projectB | Create a new project. Args: name: Project name attributes: Optional list of key-value attributes [{"key": "type", "value": "RNA-Seq"}] |
| update_projectA | Full replacement update of a project (PUT semantics). Attributes provided here replace all existing attributes. Args: project_id: The project identifier name: Optional new name attributes: Optional list of attributes (replaces all existing) |
| patch_projectA | Partially update a project (merge/upsert semantics). Unlike update_project, this does NOT remove attributes absent from the request. Args: project_id: The project identifier name: Optional new name attributes: Optional attributes to upsert |
| search_projectsB | Search projects by project_id or name. Args: query: Search query string page: Page number (1-indexed) per_page: Number of items per page sort_by: Field to sort by (project_id or name) sort_order: Sort order (asc or desc) |
| add_sample_to_projectC | Add a sample to a project. Args: project_id: The project identifier sample_id: Sample identifier string attributes: Optional sample attributes run_id: Optional run_id to associate the sample with |
| get_project_samplesC | Get samples for a project with pagination. Args: project_id: The project identifier skip: Number of records to skip limit: Maximum number of records to return sort_by: Field to sort by sort_order: Sort order (asc or desc) include_files: Whether to include file data for each sample |
| delete_sample_from_projectA | Delete a sample from a project (superuser only, irreversible). Args: project_id: The project identifier sample_id: The sample identifier to delete |
| submit_pipeline_jobB | Submit a pipeline job to AWS Batch for a project. Args: project_id: The project identifier action: Pipeline action (create-project or export-project-results) platform: Platform name (Arvados or SevenBridges) project_type: Pipeline workflow type (e.g., RNA-Seq, WGS) reference: Export reference (required for export action) auto_release: Auto-release flag for export action |
| ingest_vendor_dataC | Ingest vendor data for a project. Args: project_id: The project identifier files_uri: Source S3 bucket/prefix of data to ingest manifest_uri: S3 path to the vendor manifest |
| create_file_recordB | Create a new file record (external reference). At least one entity association is required. Args: uri: File location (s3://, file://, etc.) project_id: Project business key (string) sequencing_run_id: SequencingRun UUID qcrecord_id: QCRecord UUID pipeline_id: Pipeline UUID original_filename: Original filename before renaming size: File size in bytes source: Origin of file record created_by: User identifier storage_backend: Storage type (LOCAL, S3, AZURE, GCS) samples: Sample associations [{"sample_name": "S1", "role": "tumor"}] hashes: Hash values {"md5": "abc...", "sha256": "def..."} tags: Key-value metadata {"type": "alignment", "format": "bam"} |
| get_fileB | Get file metadata by UUID. Args: file_id: The file UUID |
| list_filesA | List or search files. Args: uri: Filter by URI (returns latest version) entity_type: Filter by entity type (PROJECT, SEQUENCING_RUN, SAMPLE, QCRECORD, PIPELINE) entity_id: Filter by entity ID (requires entity_type) include_archived: Include archived files page: Page number per_page: Items per page |
| get_file_versionsB | Get all versions of a file. Args: file_id: The file UUID (any version) |
| update_fileA | Update a file record (superuser only). Only provided fields are updated. Args: file_id: The file UUID uri: New URI original_filename: New original filename size: New file size source: New source created_by: New creator storage_backend: New storage backend |
| delete_fileA | Delete a file record and all associated data (superuser only, irreversible). Args: file_id: The file UUID |
| browse_s3A | Browse files and folders at an S3 URI. Args: uri: S3 URI to list (e.g., s3://bucket/folder/) |
| searchA | Search across all indices (projects, runs, samples) using OpenSearch. Args: query: Search query string n_results: Number of results to return per index |
| list_workflowsC | List workflows with pagination and sorting. Args: page: Page number (1-indexed) per_page: Number of items per page sort_by: Field to sort by sort_order: Sort order (asc or desc) |
| get_workflowC | Get details of a specific workflow. Args: workflow_id: The workflow UUID |
| create_workflowB | Create a new workflow identity. Args: name: Workflow name attributes: Optional key-value attributes [{"key": "category", "value": "alignment"}] |
| create_workflow_versionA | Create a new version for a workflow. Version number is auto-incremented. Args: workflow_id: The workflow UUID definition_uri: URI to the workflow definition file |
| list_workflow_versionsA | List all versions of a workflow. Args: workflow_id: The workflow UUID |
| get_workflow_versionA | Get a specific workflow version. Args: workflow_id: The workflow UUID version_id: The version UUID |
| set_workflow_aliasA | Set or update a workflow version alias (e.g., 'production'). Args: workflow_id: The workflow UUID alias: Alias name (e.g., production, development) workflow_version_id: UUID of the version to point to |
| list_workflow_aliasesA | List aliases for a workflow. Args: workflow_id: The workflow UUID alias: Optional filter to a specific alias name |
| delete_workflow_aliasC | Remove an alias from a workflow. Args: workflow_id: The workflow UUID alias: Alias name to remove |
| create_workflow_deploymentA | Deploy a workflow version on a specific platform. Args: workflow_id: The workflow UUID version_id: The version UUID engine: Platform name (e.g., Arvados, SevenBridges) external_id: Workflow identifier on the external platform |
| list_workflow_deploymentsA | List deployments for a workflow. Can list across all versions or for a specific version. Args: workflow_id: The workflow UUID version_id: Optional version UUID (if omitted, lists across all versions) alias: Optional alias filter (resolves to version) engine: Optional engine/platform filter |
| delete_workflow_deploymentC | Remove a platform deployment. Args: workflow_id: The workflow UUID version_id: The version UUID deployment_id: The deployment UUID |
| list_pipelinesB | List pipelines with pagination and sorting. Args: page: Page number (1-indexed) per_page: Number of items per page sort_by: Field to sort by sort_order: Sort order (asc or desc) |
| get_pipelineB | Get details of a specific pipeline. Args: pipeline_id: The pipeline UUID |
| create_pipelineB | Create a new pipeline (named collection of workflows). Args: name: Pipeline name version: Optional version string attributes: Optional key-value attributes workflow_ids: Optional list of workflow UUIDs to include |
| add_workflow_to_pipelineC | Add a workflow to a pipeline. Args: pipeline_id: The pipeline UUID workflow_id: UUID of the workflow to associate |
| remove_workflow_from_pipelineA | Remove a workflow from a pipeline. Args: pipeline_id: The pipeline UUID workflow_id: The workflow UUID to remove |
| create_qcrecordA | Create a new QC record with metrics and output files. Exactly one of project_id or sequencing_run_id must be provided. Args: project_id: Project-scoped record (e.g., P-1234) sequencing_run_id: Run-scoped record (run_id string) workflow_run_id: Optional workflow run UUID (provenance) metadata: Pipeline metadata {"pipeline": "RNA-Seq", "version": "2.0"} metrics: List of metric groups, each with: - name: Metric group name - samples: Optional [{"sample_name": "S1", "role": "tumor"}] - values: {"reads": 50000000, "alignment_rate": 95.5} output_files: Optional list of file records to create |
| get_qcrecordB | Get a specific QC record by UUID. Args: qcrecord_id: The QC record UUID |
| search_qcrecordsB | Search QC records with filters. Args: project_id: Filter by project ID sequencing_run_id: Filter by sequencing run_id string workflow_run_id: Filter by workflow run UUID latest: Return only newest record per scope (default True) page: Page number per_page: Results per page |
| search_qcrecords_advancedA | Search QC records with advanced filtering (POST). Args: filter_on: Filter dictionary, e.g.: {"project_id": "P-1234", "metadata": {"pipeline": "RNA-Seq"}} page: Page number per_page: Results per page latest: Return only newest record per scope |
| delete_qcrecordA | Delete a QC record and all associated data (irreversible). Args: qcrecord_id: The QC record UUID |
| list_vendorsA | List vendors with pagination and sorting. Args: skip: Number of records to skip limit: Maximum number of records to return sort_by: Field to sort by sort_order: Sort order (asc or desc) |
| get_vendorC | Get details of a specific vendor. Args: vendor_id: The vendor identifier |
| create_vendorD | Create a new vendor. Args: vendor_id: Unique vendor identifier name: Vendor display name description: Vendor description bucket: Optional S3 bucket associated with vendor |
| update_vendorC | Update a vendor's information. Args: vendor_id: The vendor identifier name: Optional new name description: Optional new description bucket: Optional new bucket |
| delete_vendorC | Delete a vendor. Args: vendor_id: The vendor identifier |
| get_settings_by_tagA | Get settings filtered by a tag key-value pair. Args: tag_key: Tag key to filter by (e.g., 'category') tag_value: Tag value to filter by (e.g., 'storage') |
| get_settingC | Get a specific setting by key. Args: key: The setting key identifier |
| update_settingB | Update a setting (value, name, description, tags). The key itself cannot be changed. Args: key: The setting key value: Optional new value name: Optional new display name description: Optional new description tags: Optional new tags list [{"key": "category", "value": "storage"}] |
| list_platformsA | List all registered workflow execution platforms. |
| get_platformA | Get a platform by name. Args: name: Platform name (e.g., Arvados, SevenBridges) |
| create_platformB | Create a new workflow execution platform. Args: name: Platform name (e.g., Arvados, SevenBridges) |
| get_latest_manifestA | Get the latest manifest file path from an S3 bucket. Searches recursively for CSV files containing 'manifest' in their name. Args: s3_path: S3 path to search (e.g., s3://bucket-name/path/to/manifests) |
| validate_manifestA | Validate a manifest CSV file from S3. Checks required fields, data format, value constraints, and file existence. Args: manifest_uri: S3/GS path to the manifest CSV file files_uri: S3/GS path where files in manifest are located manifest_version: Manifest version to validate against (e.g., 'DTS12.1') post_to_api: If true, post samples to API after successful validation |
| wes_get_service_infoA | Get information about the WES service. Returns supported workflow types, WES versions, filesystem protocols, workflow engine versions, default parameters, and system state counts. |
| wes_list_runsA | List workflow runs from the WES service. Returns a paginated list of workflow runs the caller has permission to see. Args: page_size: Number of runs to return per page page_token: Token for retrieving the next page of results |
| wes_run_workflowB | Submit a new workflow run to the WES service. Args: workflow_url: URL or relative path to the workflow definition (CWL/WDL) workflow_type: Workflow language type (e.g., "CWL", "WDL") workflow_type_version: Version of the workflow language (e.g., "v1.0") workflow_params: Input parameters for the workflow (JSON object) workflow_engine: Workflow engine to use (e.g., "cromwell", "toil") workflow_engine_version: Version of the workflow engine workflow_engine_parameters: Additional engine-specific parameters tags: Arbitrary key-value tags for the run |
| wes_get_run_logC | Get detailed information about a workflow run. Returns the run request, state, run log (stdout/stderr), task logs, and output files. Args: run_id: The workflow run identifier |
| wes_get_run_statusA | Get the current status of a workflow run. Returns an abbreviated status with the run_id and state (UNKNOWN, QUEUED, INITIALIZING, RUNNING, PAUSED, COMPLETE, EXECUTOR_ERROR, SYSTEM_ERROR, CANCELED, CANCELING, PREEMPTED). Args: run_id: The workflow run identifier |
| wes_cancel_runB | Cancel a running workflow. Args: run_id: The workflow run identifier to cancel |
| wes_list_tasksA | List tasks for a workflow run. Returns a paginated list of tasks executed as part of the workflow run. Args: run_id: The workflow run identifier page_size: Number of tasks to return per page page_token: Token for retrieving the next page of results |
| wes_get_taskA | Get details of a specific task within a workflow run. Returns log information including name, command, start/end time, stdout, stderr, exit code, and system logs. Args: run_id: The workflow run identifier task_id: The task identifier |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/NGS360/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server