What Are MCP Resources?
Resources are read-only data sources that provide context to AI assistants. Unlike tools (which perform actions), resources answer the question: “What information is available?” When Claude Desktop (or another MCP client) needs to understand your Kubiya infrastructure, it can read these resources to get current state information without making tool calls.Benefits
Automatic Context
AI assistants automatically have access to current infrastructure state
Reduced Errors
Valid IDs and configurations prevent mistakes when using tools
Better Decisions
AI can make informed choices about which tools to use and with what parameters
Always Fresh
Resources are fetched on-demand, always reflecting current state
Available Resources
agents://list
Description: List of all available agents with their configurations and capabilities. Includes:- Agent ID, name, description
- Model configuration (GPT-4, Claude, etc.)
- Instructions/system prompts
- Associated skills and tools
- Environment configurations
- Runner settings
- Secrets and environment variables
- Find the correct agent ID
- Understand the agent’s capabilities
- Verify the agent exists
You: “Run the DevOps agent to check cluster health” Claude:
- Reads
agents://listresource- Finds “DevOps Agent” with ID
agent-abc123- Calls
execute_agentwith IDagent-abc123
teams://list
Description: List of all teams with members, skills, and configurations. Includes:- Team ID, name, description
- Team members (agents)
- Associated skills and toolsets
- Runtime configuration
- Communication settings
- Environment associations
- Find team IDs
- Understand team composition
- Verify team capabilities
You: “Execute the Infrastructure team to deploy the application” Claude:
- Reads
teams://listresource- Finds “Infrastructure Team” with ID
team-xyz789- Verifies the team has deployment capabilities
- Calls
execute_teamwith appropriate parameters
worker-queues://list
Description: All worker queues with status and active workers. Includes:- Queue ID, name, display name
- Associated environment
- Status (active, paused, etc.)
- Active worker count
- Max workers configuration
- Heartbeat interval
- Last heartbeat timestamp
- Check queue health
- Verify worker availability
- Monitor queue capacity
You: “How many workers are active in production?” Claude:
- Reads
worker-queues://listresource- Filters queues by production environment
- Sums active workers
- Reports the count
environments://list
Description: All deployment environments with configurations. Includes:- Environment ID, name, display name
- Description and tags
- Status (active, inactive)
- Created/updated timestamps
- Associated resources
- Validate environment IDs
- Understand available environments
- Check environment status
You: “Create an agent for the staging environment” Claude:
- Reads
environments://listresource- Finds “staging” environment ID
- Calls
create_agentwith environment_id
projects://list
Description: All projects with metadata and configurations. Includes:- Project ID, name, key
- Description and visibility
- Status and tags
- Created/updated timestamps
- Associated resources
- Associate agents with projects
- Validate project IDs
- Understand project structure
You: “Add the new agent to the Infrastructure project” Claude:
- Reads
projects://listresource- Finds “Infrastructure” project ID
- Updates agent with project_ids
skills://list
Description: All available skills (toolsets) with their configurations. Includes:- Skill ID, name, type
- Description and documentation
- Enabled status
- Capabilities and tools
- Version information
- Discover available toolsets
- Validate skill IDs
- Understand tool capabilities
You: “Create an agent with kubectl and terraform skills” Claude:
- Reads
skills://listresource- Finds kubectl skill ID and terraform skill ID
- Creates agent with skill_ids array
policies://list
Description: All OPA policies for access control. Includes:- Policy ID, name, type
- Description and tags
- Policy content (OPA/Rego code)
- Enabled status
- Created/updated timestamps
- Review access policies
- Validate policy IDs
- Understand authorization rules
You: “What policies are enabled?” Claude:
- Reads
policies://listresource- Filters by enabled=true
- Lists policy names and descriptions
jobs://list
Description: All scheduled jobs with configurations. Includes:- Job ID, name, description
- Trigger type (cron, webhook, manual)
- Schedule configuration
- Associated entity (agent/team)
- Enabled status
- Last execution timestamp
- List scheduled tasks
- Validate job IDs
- Monitor job schedules
You: “What jobs are scheduled for tomorrow?” Claude:
- Reads
jobs://listresource- Parses cron schedules
- Identifies jobs that run tomorrow
- Lists job names and times
How Resources Work
Resource URIs
Each resource is identified by a URI in the format<type>://<path>:
Resource Access
Resources are read-only and accessed by the AI assistant automatically. You don’t need to explicitly request them - Claude reads them as needed when processing your requests.Caching
Resources are fetched on-demand from the Kubiya API. The MCP server doesn’t cache resource data, ensuring you always get fresh information.Resource vs Tools
Understanding when the AI uses resources vs tools:- Resources (Read Context)
- Tools (Perform Actions)
Used for:
- Discovering available entities
- Validating IDs before tool calls
- Understanding current state
- Making informed decisions
- “What agents do I have?” → Read
agents://list - “Show me production environments” → Read
environments://list - “What skills are available?” → Read
skills://list
Example: Combined Usage
Here’s how Claude uses resources and tools together:1
Read Resource for Context
You: “Run the DevOps agent with the production environment”Claude: Reads
agents://list and environments://list resources to find IDs2
Validate Parameters
Claude: Verifies:
- DevOps agent exists (found ID:
agent-abc123) - Production environment exists (found ID:
env-prod-456)
3
Call Tool
Claude: Calls
execute_agent tool:4
Monitor Execution
Claude: Calls
stream_execution_to_completion to monitor progressResource Format
All resources return JSON data. Here’s an example of what theagents://list resource might return:
Best Practices
Let resources work automatically
Let resources work automatically
You don’t need to explicitly ask Claude to “check resources first.” It does this automatically when needed.Good: “Execute the DevOps agent”Unnecessary: “First check what agents exist, then execute the DevOps agent”
Use descriptive names
Use descriptive names
When asking Claude to work with entities, use clear names. Resources help Claude find the right matches.Good: “Run the DevOps agent”Less clear: “Run the first agent”
Trust resource validation
Trust resource validation
If Claude says an entity doesn’t exist, it’s reading current resource data. The entity may have been deleted or renamed.Response: Create a new entity or check the dashboard
Resources are read-only
Resources are read-only
To modify infrastructure, Claude must use tools. Resources only provide context.To change: Ask Claude to use appropriate tools (create, update, delete)
Troubleshooting
Claude says entity not found
Claude says entity not found
Problem: Claude reads resources but can’t find the entity you mentioned.Solutions:
- Check the entity name spelling
- Verify the entity exists in the Kubiya Dashboard
- Try listing entities: “What agents do I have?”
- Use the exact name as it appears in the dashboard
Resource data seems outdated
Resource data seems outdated
Problem: Information appears stale.Solutions:
- Resources are fetched fresh each time - check if changes were saved in the dashboard
- Restart Claude Desktop to ensure clean resource fetch
- Verify API connectivity with
health_checktool
Can't modify resource data
Can't modify resource data
Problem: Trying to change resource content.Solution: Resources are read-only. Use tools instead:
- Create:
create_agent,create_team, etc. - Update:
update_agent,update_environment, etc. - Delete:
delete_agent,delete_policy, etc.