Required Folder Structure
Your repository must follow this structure for Osmosis to automatically discover your components:Directory Breakdown
mcp/ - MCP Tools Directory
Contains your Model Context Protocol tools that extend AI agent capabilities.
Key files:
main.py- Entry point for the FastMCP serverserver/mcp_server.py- FastMCP server configurationtools/- Directory containing individual tool modules
reward_fn/ - Reward Functions Directory
Contains deterministic reward functions decorated with @osmosis_reward.
Example:
compute_reward.py- Your reward function implementations
reward_rubric/ - Reward Rubrics Directory
Contains LLM-based evaluation functions decorated with @osmosis_rubric.
Example:
reward_rubric_openai.py- Rubric using OpenAI modelsreward_rubric_anthropic.py- Rubric using Anthropic models
pyproject.toml - Dependencies
Defines your Python package dependencies:
What Gets Synced?
When you push changes to your repository, Osmosis automatically:- Discovers MCP Tools - Functions with
@mcp.tool()inmcp/tools/ - Registers Reward Functions - Functions with
@osmosis_rewardinreward_fn/ - Syncs Reward Rubrics - Functions with
@osmosis_rubricinreward_rubric/ - Updates Platform - Changes reflect in Osmosis within minutes
Optional Directories
You can also include:tests/- Unit tests for your components.github/workflows/- CI/CD automationdocs/- Additional documentation