Quick Reference
This page provides a quick reference for all Registry MCP tools and their usage.
Available Tools
Registry Submission Tools
analyze_project_directory_tool
Analyze project directory to extract existing metadata.
Parameters:
- project_path (str, optional): Path to project directory (defaults to ".")
Returns: - Project metadata analysis with detected files, suggestions, and recommendations
Example:
generate_yaml_template_tool
Generate schema.org-compatible YAML specification from metadata.
Parameters:
- metadata (dict): Dictionary containing component metadata
Returns: - YAML string representing the registry submission
Example:
yaml_content = await client.call_tool("generate_yaml_template_tool", {
"metadata": {
"identifier": "user/repo",
"name": "Component Name",
"description": "Component description",
# ... other metadata
}
})
validate_yaml_specification_tool
Validate YAML specification against registry schema.
Parameters:
- yaml_content (str): YAML content as string
Returns: - Validation results with errors, warnings, and suggestions
Example:
result = await client.call_tool("validate_yaml_specification_tool", {
"yaml_content": yaml_string
})
submit_to_registry_tool
Create YAML file and request user confirmation for registry submission.
Parameters:
- yaml_content (str): YAML content as string
- api_endpoint (str, optional): Registry API endpoint URL
Returns: - File creation results with confirmation request and YAML file path
Example:
result = await client.call_tool("submit_to_registry_tool", {
"yaml_content": yaml_string
})
if result.get('requires_confirmation'):
print(f"YAML file created: {result['yaml_file']}")
print(result['confirmation_message'])
confirm_and_submit_to_registry_tool
Confirm and submit YAML file to registry API after user confirmation.
Parameters:
- yaml_file_path (str): Path to the YAML file to submit
- api_endpoint (str, optional): Registry API endpoint URL
Returns: - Submission results with success status and any errors
Example:
result = await client.call_tool("confirm_and_submit_to_registry_tool", {
"yaml_file_path": "/path/to/meta.yaml"
})
check_yaml_file_status_tool
Check the status of a YAML file for registry submission.
Parameters:
- yaml_file_path (str): Path to the YAML file to check
Returns: - File status information including confirmation state and validation results
Example:
result = await client.call_tool("check_yaml_file_status_tool", {
"yaml_file_path": "/path/to/meta.yaml"
})
print(f"User confirmed: {result['user_confirmed']}")
print(f"Ready for submission: {result['ready_for_submission']}")
get_registry_schema_tool
Get the complete registry schema definition.
Parameters: - None
Returns: - JSON schema for registry submissions
Example:
Guidance and Troubleshooting Tools
get_registry_workflow_guidance_tool
Get step-by-step submission workflow guidance.
Parameters: - None
Returns: - Complete workflow guidance with steps, best practices, and common issues
Example:
get_example_submissions_tool
Get example YAML submissions for different component types.
Parameters: - None
Returns: - Example submissions for MCP servers, biomedical tools, and data analysis tools
Example:
get_troubleshooting_guide_tool
Get comprehensive troubleshooting guide.
Parameters: - None
Returns: - Troubleshooting information for validation errors, submission errors, and common warnings
Example:
get_field_guidance_tool
Get detailed guidance for specific registry fields.
Parameters:
- field_name (str): Name of the field to get guidance for
Returns: - Detailed field guidance with requirements, examples, and tips
Example:
Required Metadata Fields
Core Fields
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 URL (e.g.,https://spdx.org/licenses/MIT.html)applicationCategory: Application typekeywords: 1-10 relevant keywordsprogrammingLanguage: Programming languages used
Optional Fields
url: Remote hosting URLsoftwareHelp: Documentation/help resourcefeatureList: List of features/capabilitiesoperatingSystem: Supported operating systems
Application Categories
HealthApplication: For biomedical, healthcare, or life sciences toolsEducationApplication: For educational or training toolsReferenceApplication: For reference or lookup toolsDeveloperApplication: For development tools and frameworksUtilitiesApplication: For general utility tools
Supported Programming Languages
- Python, TypeScript, JavaScript, R, Julia
- Java, Go, Rust, C#, C++
- Other
Supported Operating Systems
- Windows, macOS, Linux, Unix
- Cross-platform
Common License URLs
- MIT:
https://spdx.org/licenses/MIT.html - Apache 2.0:
https://spdx.org/licenses/Apache-2.0.html - GPL 3.0:
https://spdx.org/licenses/GPL-3.0.html - BSD 3-Clause:
https://spdx.org/licenses/BSD-3-Clause.html
Maintainer Types
Person
{
"@type": "Person",
"name": "John Doe",
"identifier": "GitHub: johndoe",
"url": "https://github.com/johndoe"
}
Organization
{
"@type": "Organization",
"name": "Organization Name",
"identifier": "GitHub: orgname",
"url": "https://github.com/orgname"
}
Common Error Messages
- "Identifier must be in format 'owner/repository'": Use format like
username/repository-name - "Missing required fields": Ensure all required fields are present and non-empty
- "License should use SPDX format": Use format like
https://spdx.org/licenses/MIT.html - "Repository URL not supported": Use GitHub, GitLab, Bitbucket, or Codeberg URLs
- "Schema validation error": Check field formats and required properties
Workflow Summary
- Analyze your project directory
- Gather required metadata
- Generate YAML specification
- Validate against schema
- Fix any issues
- Submit to registry
Getting Help
- Use
get_troubleshooting_guide_toolfor error resolution - Use
get_field_guidance_toolfor field-specific help - Use
get_example_submissions_toolfor examples - Use
get_registry_workflow_guidance_toolfor complete workflow