The RSpace MCP Server enables LLM agents to interact with the RSpace Electronic Lab Notebook (ELN) and inventory management system via the Model Context Protocol.
System
Check RSpace server connectivity and status
Document & Notebook Management
Retrieve, read, update, tag, and rename documents or notebook entries
Create new notebooks and add entries to them
Upload/attach files to documents and download file attachments
Document Search
Flexible search by text, tags, dates, content, or advanced multi-criteria queries
Search by tags, recent modifications, or content inclusion/exclusion filtering
Form Management
List, inspect, create, publish/unpublish, share/unshare, and delete custom form templates
Create structured documents from existing form templates
Inventory — Samples
Create, retrieve, list, duplicate, and bulk-create samples
Split subsamples into aliquots and add notes to subsamples
Search inventory with full-text queries
Inventory — Containers
Create list-based (folder/box) and grid-based (e.g., 96-well plate) containers
Retrieve container details, list top-level containers, and get workbenches
Move items into containers by row, column, or specific grid coordinates
Sample Templates
Create, inspect, and list reusable sample templates for standardized creation
Inventory Utilities
Rename any inventory item, add custom metadata fields
Generate linear or QR code barcodes for physical sample tracking
Audit & Compliance
Retrieve chronological audit trails of all system events, filterable by user, document, or date range
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@RSpace MCP Serverlist my recent documents in RSpace"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
RSpace MCP server
This is a proof-of-concept MCP server for RSpace that runs locally on your machine. It uses the RSpace Python client and exposes some RSpace API endpoints to LLM agents using the Model Context Protocol.
Installation and configuration
Clone or download this repository to your local machine
Install and
pythonRun
uv syncto install dependenciesCreate a
.envfile in the same folder and addRSPACE_URL=RSpace URL # e.g. https://community.researchspace.com RSPACE_API_KEY=your API keyConnect your LLM app with the RSpace MCP server
For VS Code Copilot, add an mcp.json with the following content
{ "inputs": [ { "type": "promptString", "id": "rspace-apikey", "description": "RSpace API Key", "password": true }, { "type": "promptString", "id": "rspace-url", "description": "RSpace base URL", "password": false } ], "servers": { "rspace": { "command": "uv", "args": [ "--directory", "<full path to this directory>", "run", "main.py" ], "env": { "RSPACE_API_KEY": "${input:rspace-apikey}", "RSPACE_URL": "${input:rspace-url}" } } } }For Claude Desktop, add a claude_desktop_config.json with the following content:
{ "mcpServers": { "rspace": { "command": "<path to uv command>", "args": [ "--directory", "<full path to this directory>", "run", "main.py" ], "env": {} } } }
Related MCP server: OpenRouter Agents MCP Server
Using the RSpace through the MCP server
Please bear in mind that this is a proof of concept and your production use case might require a more specific MCP server configured with specifically fine-tuned tools. The tools provided here in this prototype ...
do not exhaustively feature the functionality currently available through the RSpace Python client
might be more than you need for your use case
might not be optimally configured for how you would like to interact with RSpace
We're curious to learn about how you (want to) use this solution, so let us know about your experiences and learnings or contribute them directly to this repository.
Use cases and applications
You can find descriptions of some usecases and examples in the examples folder and we're looking forward to hearing about new examples and learnings. If you have an experience to share, feel free to contribute.
Contributing new Tools
If you develop new tools or toolsets, feel free to share code snippets or entire tool sets in the tools folder with appropriate annotations.
Acknowledgements
This project is based on code originally created by richarda23.