RSpace MCP Server
OfficialServer Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| RSPACE_URL | Yes | RSpace URL (e.g. https://community.researchspace.com) | |
| RSPACE_API_KEY | Yes | Your RSpace API key |
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
Server capabilities have not been inspected yet.
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| statusA | System health check - determines if RSpace server is accessible and running Usage: Call this first to verify connectivity before other operations Returns: Status message from RSpace server |
| get_documentsA | Retrieves recent RSpace documents with pagination Usage: Get overview of recent documents for browsing/selection Limit: Maximum 200 documents per call for performance Returns: List of document metadata (not full content) |
| get_single_Rspace_documentB | Retrieves complete content of a single document Usage: Get full document text for reading/analysis Parameters: doc_id can be numeric ID or string globalId (e.g., "SD12345") Returns: Full document with concatenated field content |
| update_documentB | Updates existing RSpace document content and metadata Usage: Modify document name, tags, or field content Fields format: [{"id": field_id, "content": "new HTML content"}] Returns: Updated document information |
| search_documentsA | Generic search tool for RSpace documents with flexible search options Usage: Search across all your RSpace documents using various criteria Parameters:
Returns: Dictionary with search results and metadata Examples:
|
| search_by_tagsA | Search documents by specific tags Usage: Find documents tagged with specific keywords Parameters:
Returns: Dictionary with search results Example: search_by_tags(["PCR", "protocol"], operator="and") |
| search_recent_documentsB | Search for recently modified documents Usage: Find documents modified within a specific timeframe Parameters:
Returns: Dictionary with recent documents Example: search_recent_documents(7, "experiment") |
| find_documents_by_contentB | Advanced content-based document search Usage: Find documents containing specific content terms Parameters:
Returns: Dictionary with search results Example: find_documents_by_content(["DNA", "extraction"], operator="and") |
| createNewNotebookB | Creates a new electronic lab notebook Usage: Organize related experiments/entries under a single notebook Returns: Created notebook information including ID for adding entries |
| createNotebookEntryB | Adds a new entry to an existing notebook Usage: Add experimental procedures, results, or observations to a notebook Content: Supports both HTML and plain text formatting Returns: Created entry information |
| tagDocumentOrNotebookEntryB | Adds tags to documents for organization and searchability Usage: Categorize documents by project, experiment type, etc. Tags: Use consistent naming for better organization Returns: Updated document with new tags |
| renameDocumentOrNotebookEntryC | Changes the name/title of a document or notebook entry Usage: Update document titles for better organization Returns: Updated document information |
| get_formsA | Lists available custom forms for structured document creation Usage: Browse available templates before creating structured documents Filtering: Use query parameter to search form names/descriptions Returns: Paginated list of form metadata |
| get_formA | Retrieves detailed information about a specific form template Usage: Examine form structure before creating documents or new forms Returns: Complete form definition including field specifications |
| create_formA | Creates a new custom form template for structured data entry Usage: Define reusable templates for experiments, protocols, reports Fields structure: [ { "name": "Field Name", "type": "String|Text|Number|Radio|Date|Choice", "mandatory": True/False, "defaultValue": "optional default" } ] Returns: Created form information (form will be in NEW state) |
| publish_formB | Makes a form available for creating documents Usage: Activate form after creation/modification Note: Forms must be published before they can be used for document creation Returns: Updated form status |
| unpublish_formA | Hides a form from document creation interface Usage: Temporarily disable forms without deletion Returns: Updated form status |
| share_formB | Shares form with user's groups for collaborative use Usage: Make custom forms available to team members Returns: Updated sharing status |
| unshare_formB | Removes form sharing with groups Usage: Make form private again Returns: Updated sharing status |
| delete_formA | Permanently deletes a form template Usage: Remove unused forms (only works for forms in NEW state) Warning: This operation cannot be undone Returns: Deletion confirmation |
| create_document_from_formB | Creates a structured document using a form template Usage: Generate documents with predefined structure and validation Fields: Pre-populate form fields with initial data Returns: Created document information |
| getAuditEventsB | Retrieves audit trail of all actions performed in RSpace Usage: Monitor document access, modifications, and user activity Filtering options:
Returns: Chronological list of system events |
| downloadFileB | Downloads file attachments from RSpace documents Usage: Retrieve images, data files, or other attachments Parameters:
Returns: Download status and file information |
| uploadAndAttachFileA | Uploads a file to RSpace and attaches it to a document as a proper file attachment Usage: One-step process to upload any file and attach it to an RSpace document File types: Supports all file types (images, PDFs, data files, protocols, etc.) Attachment: Creates proper RSpace file attachment, not just a link Parameters:
Returns: Upload confirmation and document update information |
| create_sampleA | Creates a new sample in the inventory system Usage: Register new samples with metadata and quantity tracking Subsamples: Automatically creates specified number of subsample aliquots Quantity: Tracks total amount with specified units (ml, mg, μl, etc.) Returns: Created sample information including generated subsample IDs |
| get_sampleA | Retrieves complete information about a specific sample Usage: Get detailed sample metadata, location, and subsample information Parameters: sample_id can be numeric ID or global ID (e.g., "SA12345") Returns: Full sample details including all subsamples |
| list_samplesA | Lists samples in the inventory with pagination and sorting Usage: Browse sample collection, find recent additions Sorting: Options include "lastModified", "name", "created" Returns: Paginated list of sample metadata |
| duplicate_sampleA | Creates an exact copy of an existing sample Usage: Replicate samples for parallel experiments or backup Returns: New sample information with fresh ID and subsamples |
| split_subsampleB | Divides a subsample into multiple new subsamples Usage: Create aliquots for distribution or different experiments Quantity: If specified, each new subsample gets this amount Returns: Information about newly created subsamples |
| add_note_to_subsampleB | Adds annotations or observations to a specific subsample Usage: Record experimental notes, observations, or handling instructions Returns: Updated subsample information with new note |
| search_inventoryA | Searches across all inventory items using text query Usage: Find samples, containers, or templates by name, tags, or description Result types: 'SAMPLE', 'SUBSAMPLE', 'CONTAINER', 'TEMPLATE' (or None for all) Returns: Matching items with relevance scoring |
| create_list_containerB | Creates a simple list-based container for organizing inventory Usage: Create folders, boxes, or other containers without specific positioning Storage permissions: Configure what types of items can be stored Hierarchy: Optionally nest within another container Returns: Created container information with storage settings |
| create_grid_containerA | Creates a grid-based container with specific positioning Usage: Create microplates, freezer boxes, or other position-specific storage Dimensions: Define exact grid size (e.g., 8x12 for 96-well plate) Positioning: Items placed at specific coordinates (row, column) Returns: Created container information with grid specifications |
| get_containerA | Retrieves container information with optional content listing Usage: Examine container properties and optionally see what's inside Performance: Set include_content=False for faster queries on large containers Returns: Container details and optionally contained items |
| list_containersA | Lists top-level containers (not nested within other containers) Usage: Browse main container organization structure Returns: Paginated list of root-level containers |
| get_workbenchesA | Retrieves all available workbenches (virtual workspaces) Usage: Find available workspaces for organizing current work Workbenches: Special containers representing physical or logical workspaces Returns: List of all workbench containers |
| move_items_to_list_containerB | Moves multiple items to a list-based container Usage: Organize items in simple containers without specific positioning Items: Can move both samples/subsamples and other containers Returns: Success status and results for each moved item |
| move_items_to_grid_container_by_rowA | Moves items to grid container, filling positions row by row Usage: Systematic filling of plates, boxes, or other gridded containers Auto-positioning: Automatically calculates next available positions Dimensions: Auto-detected from container if not provided Returns: Success status and final positions of moved items |
| move_items_to_grid_container_by_columnB | Moves items to grid container, filling positions column by column Usage: Alternative filling pattern for specific experimental layouts Auto-positioning: Fills down columns before moving to next column Returns: Success status and final positions of moved items |
| move_items_to_specific_grid_locationsA | Places items at specific coordinates within a grid container Usage: Precise positioning for experimental layouts or protocols Coordinates: Each item gets an exact (row, column) position Validation: Ensures equal number of items and positions Returns: Success status and confirmation of final positions |
| create_sample_templateB | Creates a reusable template for sample creation Usage: Standardize sample creation with predefined fields and validation Template data: Define field structure, default values, and constraints Returns: Created template information for future sample generation |
| get_sample_templateA | Retrieves detailed information about a sample template Usage: Examine template structure before using for sample creation Returns: Complete template definition including field specifications |
| list_sample_templatesA | Lists available sample templates for reuse Usage: Browse existing templates before creating new samples Returns: Paginated list of template metadata |
| rename_inventory_itemA | Changes the name of any inventory item Usage: Rename samples, subsamples, containers, or templates Universal: Works with any inventory item type Returns: Updated item information with new name |
| add_extra_fields_to_itemA | Adds custom metadata fields to inventory items Usage: Extend items with experiment-specific or project-specific data Field format: [{"name": "Field Name", "type": "text|number", "content": "value"}] Types: 'text' for strings, 'number' for numeric values Returns: Updated item with new custom fields |
| generate_barcodeB | Generates scannable barcodes for inventory items Usage: Create physical labels for sample tracking and identification Types: 'BARCODE' for standard linear barcodes, 'QR' for QR codes Returns: Binary barcode image data for printing or display |
| get_container_summaryA | Retrieves container metadata without content for fast queries Usage: Quick container information lookup without performance impact Performance: Avoids loading large content lists for better response times Returns: Container metadata only (name, type, capacity, etc.) |
| get_container_contents_onlyA | Retrieves only the items stored in a container Usage: Get container contents without metadata overhead Performance: Focused query for container content analysis Returns: List of contained items with minimal metadata |
| bulk_create_samplesA | Creates multiple samples efficiently in a single operation Usage: High-performance sample creation for large datasets Performance: Much faster than individual create_sample calls Format: List of sample definition dictionaries Note: Implementation should use batch API endpoints when available Returns: Results for all created samples with error handling |
| get_recent_samples_summaryA | Retrieves recent samples with minimal data for dashboard views Usage: Quick overview of recent activity without full sample details Performance: Optimized for dashboard and summary displays Filtering: Configurable time window and result count Returns: Lightweight sample list with essential information only |
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/rspace-os/rspace-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server