Skip to main content
Glama

Raworc MCP Server

Raworc MCP Server

A production-ready Model Context Protocol (MCP) server for Raworc, enabling AI assistants to seamlessly interact with Raworc's agent runtime platform.

🚀 Quick Start

# Test the installation npx @raworc/mcp-server --help # Use directly with Claude Desktop npx @raworc/mcp-server

Option 2: Install from Source

# Clone the repository git clone https://github.com/harshapalnati/raworc-mcpserver.git cd raworc-mcpserver # Build the project cargo build --release # Test the installation ./target/release/raworc-mcp --help

📋 Prerequisites

  • Rust: Version 1.70 or higher
  • Node.js: Version 16.0 or higher (for npx installation)
  • Raworc Account: Access to Raworc platform
  • Network Access: Ability to reach api.remoteagent.com

🔧 Configuration

Environment Variables

VariableDescriptionDefaultRequired
RAWORC_API_URLRaworc API base URLhttps://api.remoteagent.com/api/v0No
RAWORC_AUTH_TOKENJWT authentication token-Yes
RAWORC_DEFAULT_SPACEDefault space for operations-No
RAWORC_TIMEOUTRequest timeout in seconds30No
LOG_LEVELLogging levelinfoNo

Getting Your Authentication Token

curl -X POST https://api.remoteagent.com/api/v0/auth/login \ -H "Content-Type: application/json" \ -d '{ "user": "your-username", "pass": "your-password" }'

🎯 Features

  • Complete API Coverage: Full access to all Raworc REST API endpoints
  • Service Account Management: Create, update, and manage service accounts with role-based access
  • Role-Based Access Control (RBAC): Manage roles and role bindings for fine-grained permissions
  • Space Management: Create, update, and manage isolated workspaces
  • Session Management: Create, pause, resume, terminate, and fork sessions
  • Message Handling: Send, retrieve, and manage session messages
  • Agent Operations: Deploy, monitor, control, and manage agents with full lifecycle support
  • Secret Management: Secure storage and retrieval of secrets with proper access controls
  • Build Management: Trigger and monitor space builds for agent deployment
  • Real-time Communication: Send messages and receive responses from agents
  • Health Monitoring: Check API health and version information
  • Production Ready: Robust error handling, logging, and MCP protocol compliance

🔌 Claude Desktop Integration

Add the MCP server to your Claude Desktop configuration:

{ "mcpServers": { "raworc": { "command": "npx", "args": ["@raworc/mcp-server"], "env": { "RAWORC_API_URL": "https://api.remoteagent.com/api/v0", "RAWORC_AUTH_TOKEN": "your-jwt-token", "RAWORC_DEFAULT_SPACE": "your-space", "RAWORC_TIMEOUT": "30", "LOG_LEVEL": "info" } } } }

Alternative: Direct Binary Path

{ "mcpServers": { "raworc": { "command": "/path/to/raworc-mcp", "env": { "RAWORC_API_URL": "https://api.remoteagent.com/api/v0", "RAWORC_AUTH_TOKEN": "your-jwt-token", "RAWORC_DEFAULT_SPACE": "your-space" } } } }

🛠️ Available Tools

The MCP server provides comprehensive access to all Raworc API endpoints. Here are the available tools organized by category:

System Information

health_check

Check Raworc API health status.

{ "name": "health_check", "arguments": {} }
get_version

Get Raworc API version information.

{ "name": "get_version", "arguments": {} }

Service Account Management

list_service_accounts

List all service accounts.

{ "name": "list_service_accounts", "arguments": {} }
create_service_account

Create a new service account.

{ "name": "create_service_account", "arguments": { "user": "api-user", "pass": "secure-password", "space": "production", "description": "API access user" } }
get_service_account

Get a specific service account by ID.

{ "name": "get_service_account", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000" } }
update_service_account

Update a service account.

{ "name": "update_service_account", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000", "space": "production", "description": "Updated description", "active": true } }
delete_service_account

Delete a service account.

{ "name": "delete_service_account", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000" } }
update_service_account_password

Update service account password.

{ "name": "update_service_account_password", "arguments": { "id": "550e8400-e29b-41d4-a716-446655440000", "current_password": "old-password", "new_password": "new-secure-password" } }

Role Management

list_roles

List all RBAC roles.

{ "name": "list_roles", "arguments": {} }
create_role

Create a new role.

{ "name": "create_role", "arguments": { "id": "developer", "description": "Developer role", "rules": [ { "apiGroups": [""], "resources": ["sessions", "messages"], "verbs": ["get", "list", "create"] } ] } }
get_role

Get a specific role by ID.

{ "name": "get_role", "arguments": { "id": "developer" } }
delete_role

Delete a role.

{ "name": "delete_role", "arguments": { "id": "developer" } }

Role Binding Management

list_role_bindings

List all role bindings.

{ "name": "list_role_bindings", "arguments": {} }
create_role_binding

Create a new role binding.

{ "name": "create_role_binding", "arguments": { "subject": "api-user", "role_ref": "developer", "space": "staging" } }
get_role_binding

Get a specific role binding by ID.

{ "name": "get_role_binding", "arguments": { "id": "admin-binding" } }
delete_role_binding

Delete a role binding.

{ "name": "delete_role_binding", "arguments": { "id": "admin-binding" } }

Space Management

list_spaces

List all spaces.

{ "name": "list_spaces", "arguments": {} }
create_space

Create a new space.

{ "name": "create_space", "arguments": { "name": "staging", "description": "Staging environment", "settings": { "environment": "staging" } } }
get_space

Get a specific space by name.

{ "name": "get_space", "arguments": { "name": "staging" } }
update_space

Update a space.

{ "name": "update_space", "arguments": { "name": "staging", "description": "Updated staging space" } }
delete_space

Delete a space.

{ "name": "delete_space", "arguments": { "name": "staging" } }

Session Management

list_sessions

List all sessions in a space.

{ "name": "list_sessions", "arguments": { "space": "production" } }
create_session

Create a new session.

{ "name": "create_session", "arguments": { "space": "development", "metadata": { "purpose": "testing", "user": "developer" } } }
get_session

Get session details by ID.

{ "name": "get_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }
update_session

Update session details.

{ "name": "update_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }
update_session_state

Update session state.

{ "name": "update_session_state", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "state": "closed" } }
close_session

Close a session.

{ "name": "close_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d" } }
restore_session

Restore a closed session.

{ "name": "restore_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d" } }
remix_session

Fork a session.

{ "name": "remix_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "development" } }
pause_session

Pause a session.

{ "name": "pause_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }
resume_session

Resume a paused session.

{ "name": "resume_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }
terminate_session

Terminate a session.

{ "name": "terminate_session", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }

Session Message Management

get_messages

Get messages from a session.

{ "name": "get_messages", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production", "limit": 10 } }
send_message

Send a message to a session.

{ "name": "send_message", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production", "content": "Generate a Python script to calculate fibonacci numbers" } }
get_message_count

Get message count for a session.

{ "name": "get_message_count", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }
clear_messages

Clear all messages from a session.

{ "name": "clear_messages", "arguments": { "session_id": "61549530-3095-4cbf-b379-cd32416f626d", "space": "production" } }

Agent Management

list_agents

List agents in a space.

{ "name": "list_agents", "arguments": { "space": "production" } }
create_agent

Create a new agent.

{ "name": "create_agent", "arguments": { "space": "production", "name": "data-analyzer", "description": "Data analysis specialist", "purpose": "analyze data, create visualizations, statistical analysis", "source_repo": "Raworc/raworc-agent-python-demo", "source_branch": "main" } }
get_agent

Get a specific agent.

{ "name": "get_agent", "arguments": { "space": "production", "agent_name": "data-analyzer" } }
update_agent

Update an agent.

{ "name": "update_agent", "arguments": { "space": "production", "agent_name": "data-analyzer", "description": "Updated data analysis specialist", "purpose": "enhanced data analysis and visualization" } }
delete_agent

Delete an agent.

{ "name": "delete_agent", "arguments": { "space": "production", "agent_name": "data-analyzer" } }
update_agent_status

Update agent status.

{ "name": "update_agent_status", "arguments": { "space": "production", "agent_name": "data-analyzer", "status": "inactive" } }
deploy_agent

Deploy an agent.

{ "name": "deploy_agent", "arguments": { "space": "production", "agent_name": "data-analyzer" } }
stop_agent

Stop an agent.

{ "name": "stop_agent", "arguments": { "space": "production", "agent_name": "data-analyzer" } }
list_running_agents

List running agents in a space.

{ "name": "list_running_agents", "arguments": { "space": "production" } }
get_agent_logs

Get logs for a specific agent.

{ "name": "get_agent_logs", "arguments": { "space": "production", "agent_name": "data-analyzer", "limit": 100, "follow": false } }

Secret Management

list_secrets

List secrets in a space.

{ "name": "list_secrets", "arguments": { "space": "production", "show_values": false } }
create_secret

Create a new secret.

{ "name": "create_secret", "arguments": { "space": "production", "key_name": "ANTHROPIC_API_KEY", "value": "sk-ant-your-actual-key", "description": "Claude API key" } }
get_secret

Get a specific secret.

{ "name": "get_secret", "arguments": { "space": "production", "key": "ANTHROPIC_API_KEY", "show_values": true } }
update_secret

Update a secret.

{ "name": "update_secret", "arguments": { "space": "production", "key": "ANTHROPIC_API_KEY", "value": "new-secret-value", "description": "Updated description" } }
delete_secret

Delete a secret.

{ "name": "delete_secret", "arguments": { "space": "production", "key": "ANTHROPIC_API_KEY" } }

Build Management

create_build

Trigger a space build.

{ "name": "create_build", "arguments": { "space": "production", "dockerfile": "Dockerfile" } }
get_latest_build

Get latest build status.

{ "name": "get_latest_build", "arguments": { "space": "production" } }
get_build

Get specific build status.

{ "name": "get_build", "arguments": { "space": "production", "build_id": "build-550e8400-e29b-41d4-a716-446655440000" } }

🧪 Testing

Quick Test

# Test with npx npx @raworc/mcp-server --help # Test health check echo '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "health_check", "arguments": {}}}' | npx @raworc/mcp-server # Test list spaces echo '{"jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": {"name": "list_spaces", "arguments": {}}}' | npx @raworc/mcp-server

Manual API Testing

# Health check curl -H "Authorization: Bearer your-token" https://api.remoteagent.com/api/v0/health # Get version curl -H "Authorization: Bearer your-token" https://api.remoteagent.com/api/v0/version # List spaces curl -H "Authorization: Bearer your-token" https://api.remoteagent.com/api/v0/spaces

🏗️ Development

Building from Source

# Clone the repository git clone https://github.com/harshapalnati/raworc-mcpserver.git cd raworc-mcpserver # Build the project cargo build --release # Run tests cargo test # Install with npm (for npx distribution) npm install

Project Structure

raworc-mcpserver/ ├── src/ │ ├── main.rs # Entry point │ ├── lib.rs # Library exports │ ├── client.rs # Raworc API client │ ├── error.rs # Error handling │ ├── models.rs # Data models │ └── mcp.rs # MCP server implementation ├── bin/ │ └── raworc-mcp.js # JavaScript wrapper for npx ├── scripts/ │ └── postinstall.js # Build script for npm installation ├── tests/ │ └── integration_test.rs # Integration tests ├── examples/ │ ├── claude-desktop-config.json # Example Claude Desktop config │ └── usage-example.md # Usage examples ├── Cargo.toml # Rust dependencies ├── package.json # npm package configuration ├── QUICKSTART.md # Quick start guide ├── TESTING.md # Testing guide └── README.md # This file

🐛 Troubleshooting

Common Issues

  1. Authentication Failed
    • Verify your token is valid and not expired
    • Check that you have the correct permissions
  2. Connection Issues
    • Verify you can reach api.remoteagent.com
    • Check your network connectivity
  3. Permission Errors
    • Ensure your account has the necessary permissions
    • Check that you're using the correct space

Debug Mode

export LOG_LEVEL="debug" export RAWORC_API_URL="https://api.remoteagent.com/api/v0" export RAWORC_AUTH_TOKEN="your-token" npx @raworc/mcp-server

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

📞 Support

📝 Changelog

v0.2.0

  • Complete API Coverage: Added all Raworc REST API endpoints
  • Service Account Management: Full CRUD operations for service accounts
  • Role-Based Access Control: Complete RBAC implementation with roles and role bindings
  • Enhanced Session Management: Added session forking, state management, and message operations
  • Advanced Agent Operations: Full agent lifecycle management with deployment and monitoring
  • Comprehensive Secret Management: Enhanced secret operations with proper access controls
  • Build Management: Space build triggering and monitoring capabilities
  • Production Enhancements: Improved error handling, logging, and MCP protocol compliance

v0.1.0

  • Initial release
  • Basic MCP protocol implementation
  • Core Raworc API integration
  • Session, space, agent, and secret management
  • Health monitoring and version information
  • npx installation support
  • Production-ready error handling

Related MCP Servers

  • -
    security
    F
    license
    -
    quality
    Integrates with the AgentCraft framework to enable secure communication and data exchange between AI agents, supporting both premade and custom enterprise AI agents.
    Last updated -
    1
    • Apple
    • Linux
  • -
    security
    A
    license
    -
    quality
    Enables AI assistants to interact with Slack workspaces through the Model Context Protocol, providing tools for reading/sending messages, managing channels, and accessing Slack API functionality.
    Last updated -
    1
    MIT License
  • A
    security
    A
    license
    A
    quality
    Enables AI assistants to interact with Atlassian products (Confluence and Jira) through natural language, supporting both Cloud and Server/Data Center deployments. Allows searching, creating, and managing content across Jira issues and Confluence pages with flexible authentication options.
    Last updated -
    Apache 2.0
  • -
    security
    A
    license
    -
    quality
    Enables AI agents to interact seamlessly with Splunk environments through 20+ tools for search, analytics, data discovery, administration, and health monitoring. Features AI-powered troubleshooting workflows and supports multiple Splunk instances with production-ready security.
    Last updated -
    12
    Apache 2.0
    • Apple
    • Linux

View all related MCP servers

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/harshapalnati/raworc-mcpserver'

If you have feedback or need assistance with the MCP directory API, please join our Discord server