Labsco
awaberry logo

awaBerry device as a service

β˜… 1

from awaberry

awaBerry Agentic allows for secure remote access to any terminal based device for workflows allowing any Agent and Large Language Model based routine to execute commands on your devices for getting access to required data - and to also write genrated data back.

πŸ”₯πŸ”₯πŸ”₯βœ“ VerifiedAccount requiredAdvanced setup

awaberry Remote MCP Server

A Node.js based Model Context Protocol (MCP) server to remote connect to devices without the need for SSH, VPN and open ports to manage files, connect to databases and execute terminal commands in a persistent long running terminal session.

This is a JavaScript-based MCP server that provides remote device access through the awaBerry platform. It demonstrates core MCP concepts by providing:

<B>Device as a service</B>

  • Integration with the awaberry Agentic platform
  • Secure device connection management
  • Remote terminal command execution
  • Session-based authentication

<B>This allows for powerful workflows</B> allowing any Agent and Large Language Model based routine to execute commands on your devices for getting access to required data - and to also write genrated data back.

awaBerry Agentic Claude Desktop Introduction

Getting credentials.

Access to the awaBerry platform via an MCP Server is provided via project key and project secret. Either setup own projects for your own devices or receive the credentials.

Create an own project

An account at app.awaberry.com and a device linked to awaBerry Remote.

  1. Sign up at awaberry Remote.
  2. Add one or more devices.
  3. Create a new project under section awaBerry Agentic.
  4. Register your devices with the project.
  5. Copy your project key and secret from the project settings.

Read more about awaBerry at www.awaberry.com

Received project credentials

You have received project key and secret, e.g. via company IT or a friend.

Demo access

To connect to a demo project, use the following credentials

  • project key: <B>demokey</B>
  • project secret: <B>demosecret</B>
  • name of the device: <B>demodevice</B>

Features

Tools

The awaBerry mcp consists of the following tools:

connect_to_device

Connects to a remote device (Mac, Linux, Windows, or Docker) registered in your awaberry project.

  • Parameters:

    • projectKey (optional): Project authentication key (defaults to AWABERRY_PROJECT_KEY env var).
    • projectSecret (optional): Project authentication secret (defaults to AWABERRY_PROJECT_SECRET env var).
    • deviceName (required): Name of the device to connect to.
  • Returns:

    • sessionToken (string): Authentication token for the session.
    • status (string): Connection status ("connected" or "notconnected").
    • deviceuuid (string): Unique identifier for the device.

The sessionToken is valid for 30 minutes from connection start.

execute_terminal_command

Executes terminal commands on a connected device to manage files, connect to databases and execute terminal commands in a persistent long running terminal session.

On reconnecting to the device, the last state of the terminal is available - this allows also to start long running commands and get the results ones available.

  • Parameters:

    • sessionToken (required): Session token from the device connection.
    • deviceuuid (required): Device UUID to execute the command on.
    • command (required): Terminal command to execute.
  • Returns:

    • success (boolean): Indicates if the command was accepted for execution.
    • result.commandResult (string): Output from the command.
    • result.lastCommandEndedOnTerminal (boolean): Indicates if the command process has completed.

Logging

All activity is logged to activitylog.log in the project root directory. Logs include:

  • Tool invocations with timestamps
  • Connection attempts and results
  • Command executions and outputs
  • Errors and warnings

Example log output:

Copy & paste β€” that's it
2025-01-15 10:30:45 [INFO]: πŸ“₯ [Tool] connect_to_device called
2025-01-15 10:30:45 [INFO]: πŸ“‹ [Tool] Device name: laptop-macos
2025-01-15 10:30:46 [INFO]: βœ… [Tool] connect_to_device successful - Session: a1b2c3d4...

Rate Limits

Rate limits are enforced by the awaberry platform:

  • Connection attempts: As needed.
  • Command executions: Based on the plan tier of awaBerry.

Check your plan details at awaberry Agentic for specific limits.

Security Considerations

  • Store your AWABERRY_PROJECT_KEY and AWABERRY_PROJECT_SECRET securely.
  • Never commit credentials to version control.
  • Use environment variables for sensitive configuration.
  • Session tokens are temporary and expire automatically.
  • All communication with awaberry servers uses HTTPS.

License

MIT

Contributing

Contributions are welcome! Please feel free to submit a Pull Request or contact us.

Support

For documentation and questions: