Registry MCP
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., "@Registry MCPSubmit my project to the BioContextAI registry"
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.
Registry MCP
A Model Context Protocol (MCP) server for assisting users in registering their MCP servers, knowledge graph components, and other biomedical tools to the BioContextAI registry.
🚀 Quick Start
To use this MCP server to submit your project to the BioContext registry, simply ask your AI assistant:
"Help me submit this project to the BioContext registry"
The MCP will automatically:
Analyze your project - Extract metadata from your project files
Generate YAML - Create a schema.org-compatible specification
Validate - Check the specification against registry requirements
Request confirmation - Ask you to review before submission
Submit - Send your project to the registry (after your confirmation)
Prerequisites
Install the MCP server in your AI assistant
Have your project ready with a
pyproject.toml,README.md, or similar metadata files
Overview
The Registry MCP provides a comprehensive set of tools to help users create, validate, and submit schema.org-compatible YAML specifications to the BioContextAI registry. It follows the same pattern as the biocypher-mcp repository, providing structured guidance and automation for registry submissions.
Features
Core Functionality
Project Analysis: Automatically extract metadata from existing project files (pyproject.toml, README.md, etc.)
YAML Generation: Create schema.org-compatible YAML specifications from user input
Validation: Validate submissions against the registry schema with detailed feedback
API Submission: Submit validated specifications to the registry REST API
Troubleshooting: Comprehensive guidance and error resolution
Available Tools
Registry Submission Tools
analyze_project_directory_tool- Analyze project directory to extract metadatagenerate_yaml_template_tool- Generate YAML template from metadatavalidate_yaml_specification_tool- Validate YAML against registry schemasubmit_to_registry_tool- Request submission (requires user confirmation)confirm_and_submit_to_registry_tool- Actually submit after user confirmationget_registry_schema_tool- Get the complete registry schema
Guidance and Troubleshooting Tools
get_registry_workflow_guidance_tool- Get step-by-step submission workflowget_example_submissions_tool- Get example YAML submissionsget_troubleshooting_guide_tool- Get comprehensive troubleshooting guideget_field_guidance_tool- Get detailed guidance for specific fields
Installation
# Clone the repository
git clone https://github.com/slolab/registry-mcp.git
cd registry-mcp
# Install dependencies
uv sync
# Run the MCP server
uv run registry_mcp
# Or test the installation
uv run registry_mcp --version
uv run registry_mcp --helpUsage
Basic Workflow
Analyze your project:
# Use the MCP tool to analyze your project directory result = analyze_project_directory_tool(".")Generate YAML template:
# Create YAML from your metadata yaml_content = generate_yaml_template_tool({ "identifier": "your-username/your-repo", "name": "Your MCP Server", "description": "Description of your MCP server", # ... other metadata })Validate specification:
# Validate the YAML validation_result = validate_yaml_specification_tool(yaml_content)Submit to registry (with file-based confirmation):
# First, create YAML file and request confirmation # Specify project_path to save meta.yaml in the project directory submission_request = submit_to_registry_tool(yaml_content, project_path=".") # The tool will create a YAML file and return confirmation request if submission_request.get("requires_confirmation"): print(submission_request["confirmation_message"]) yaml_file_path = submission_request["yaml_file"] # User must explicitly confirm before actual submission # After user confirms, call: submission_result = confirm_and_submit_to_registry_tool(yaml_file_path)
File-Based User Confirmation Workflow
The registry submission process now uses a robust file-based confirmation system to prevent accidental submissions:
YAML File Creation:
submit_to_registry_tool()validates the YAML and creates ameta.yamlfile withuser_confirmed: falsein the specified project directory (defaults to current directory)User Review: The tool displays submission details and asks for confirmation
User Decision: User must explicitly confirm with "Yes, submit to registry" or "Confirm submission"
Confirmation Update:
confirm_and_submit_to_registry_tool()setsuser_confirmed: trueand performs the submissionStatus Checking:
check_yaml_file_status_tool()allows checking the current status of any YAML file
Important: The meta.yaml file will be created in the specified project directory. Use the project_path parameter to ensure it's saved in the correct location.
This ensures users have full control over when their MCP servers are submitted to the public registry, with a persistent record of the confirmation state.
Example YAML Structure
Based on the BioCypher MCP example:
"@context": https://schema.org
"@type": SoftwareApplication
"@id": https://github.com/your-username/your-mcp
identifier: your-username/your-mcp
name: Your MCP Server Name
description: >
A detailed description of your MCP server's functionality,
use cases, and target audience.
codeRepository: https://github.com/your-username/your-mcp
url: https://your-mcp.example.com # Optional
softwareHelp:
"@type": CreativeWork
url: https://your-mcp.example.com/docs
name: Your MCP Documentation
maintainer:
- "@type": Person
name: Your Name
identifier: "GitHub: your-username"
url: https://github.com/your-username
license: https://spdx.org/licenses/MIT.html
applicationCategory: HealthApplication
keywords:
- keyword1
- keyword2
- keyword3
operatingSystem:
- Cross-platform
programmingLanguage:
- Python
featureList:
- Feature 1
- Feature 2
- Feature 3
user_confirmed: false # Set to true only after user confirmationSchema Requirements
The registry uses a schema.org-compatible specification with the following required fields:
Required Fields
@context: Must be "https://schema.org"@type: Must be "SoftwareApplication"@id: Unique identifier URI (typically GitHub URL)identifier: Repository identifier in format "owner/repository"name: Component name (1-100 characters)description: Detailed description (10-1000 characters)codeRepository: Repository URL (GitHub, GitLab, Bitbucket, or Codeberg)maintainer: Maintainer information (Person or Organization)license: SPDX license URLapplicationCategory: Application typekeywords: 1-10 relevant keywordsprogrammingLanguage: Programming languages used
Optional Fields
url: Remote hosting URLsoftwareHelp: Documentation/help resourcefeatureList: List of features/capabilitiesoperatingSystem: Supported operating systemsuser_confirmed: User confirmation flag (boolean, defaults to false)
Registry Schema
The registry follows a strict JSON schema for validation. You can retrieve the complete schema using:
schema = get_registry_schema_tool()Troubleshooting
Common Issues
Invalid identifier format: Use "owner/repository" format
Missing required fields: Ensure all required fields are present
Invalid license format: Use SPDX format (https://spdx.org/licenses/LICENSE.html)
Unsupported repository: Use GitHub, GitLab, Bitbucket, or Codeberg
Getting Help
Use the troubleshooting tools for detailed guidance:
# Get comprehensive troubleshooting guide
troubleshooting = get_troubleshooting_guide_tool()
# Get guidance for specific fields
field_help = get_field_guidance_tool("identifier")
# Get workflow guidance
workflow = get_registry_workflow_guidance_tool()Development
Running Tests
# Run the test suite
uv run python test_registry_mcp.pyProject Structure
src/registry_mcp/
├── __init__.py
├── main.py # CLI entry point
├── mcp.py # MCP server configuration
└── tools/
├── __init__.py
├── _greet.py # Example tool
├── registry_submission.py # Core submission tools
└── registry_guidance.py # Guidance and troubleshootingContributing
Fork the repository
Create a feature branch
Make your changes
Add tests if applicable
Submit a pull request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Related Projects
BioCypher MCP - MCP server for BioCypher workflows
BioContextAI Registry - The registry this MCP submits to
Model Context Protocol - The MCP specification
Support
For issues and questions:
Create an issue on GitHub
Check the troubleshooting guide
Review the example submissions
Use the field guidance tools
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
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/slolab/registry-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server