awaBerry device as a service

by awaberry

Not rated
GitHub

About

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.

Details

Author
awaberry
Categories
File Management, Other, Infrastructure, Security

Setup of an awaBerry MCP Server in company environments

Please read the file](https://git-scm.com/downloads)MCPSERVER.mdfor setup instructions of an awaBerry MCP Server in local environments or as a Cloudflare worker.

To use awaBerry with Claude Desktop, add the server configuration to yourclaude_desktop_config.jsonfile.

- On macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows:%APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "awaberry": { "command": "node", "args": [ "/absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients/start-awaberry-mcp.js" ] } } }

Important:Replace/absolute/path/to/mcp_server_awaberrywith the actual absolute path to your installation (e.g.,/Users/username/projects/mcp_server_awaberry).

Configuration of the MCP server and credentials

To the awaBerry MCP server, add the following configurations

To setup of server url, project key and project secret, copy the file awaberry-config.json.example to awaberry-config.json.

cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients cp awaberry-config.json.example awaberry-config.json
{ "serverUrl": "<serverUrl>", "env": { "AWABERRY_PROJECT_KEY": "<AWABERRY_PROJECT_KEY>", "AWABERRY_PROJECT_SECRET": "<AWABERRY_PROJECT_KEY>" } }

- serverUrl: with the server your company IT team has installed for you or your local mcp server. Start your local mcp server as follow:

For connecting via a local mcp server, use <!-- -->http://localhost:3000/mcp. For starting the mcp server do in a terminal

cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/ npm run start:mcp:json

To monitor the mcp server log open another terminal and type

cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/ tail -f activitylog.log

- AWABERRY_PROJECT_KEY: the received project key for an awaBerry Agentic project
- AWABERRY_PROJECT_SECRET: the received project secret.

Once configured, restart Claude Desktop and use natural language to interact with your devices:

Connect to my device "laptop-macos"

Find all text files files modified in the last 7 days in my home directory

Execute the backup script at ~/scripts/backup.sh

All activity is logged toactivitylog.login the project root directory. Logs include:

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

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 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 Agenticfor specific limits.

- Ensure Node.js >= 18 is installed:node --version
- Check that all dependencies are installed:npm install
- Verify the file path inclaude_desktop_config.jsonis absolute and correct.
- Check for syntax errors in the config JSON file.

- Allow Claude Desktop to execute requests to awaBerry, it it asks for permissions.
- Verify your project key and secret are correct in the environment variables.
- Ensure the device name matches exactly (it is case-sensitive).
- Check that the device is online and connected to awaberry.
- Reviewactivitylog.logfor detailed error messages.
- Confirm the device is registered in your awaberry project.

- Check that the device is still connected.
- Ensure the command syntax is correct for the target OS.
- Review command output inactivitylog.log.
- Check device permissions for the command you're trying to run.

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.

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:

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

This allows for powerful workflowsallowing 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.

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.

An account at app.awaberry.com and a device linked to awaBerry Remote.
- Sign up atawaberry Remote.
- Add one or more devices.
- Create a new project under section awaBerry Agentic.
- Register your devices with the project.
- Copy your project key and secret from the project settings.

Read more about awaBerry atwww.awaberry.com

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

To connect to a demo project, use the following credentials

- project key:demokey
- project secret:demosecret
- name of the device:demodevice

The awaBerry mcp consists of the following tools:

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

- projectKey(optional): Project authentication key (defaults toAWABERRY_PROJECT_KEYenv var).
- projectSecret(optional): Project authentication secret (defaults toAWABERRY_PROJECT_SECRETenv var).
- deviceName(required): Name of the device to connect to.

- 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.

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.

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

- 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.

- Node.js >= 18 (Download).
- Git installed (
Download).

Open a terminal and optionally create a folder for the awaBerry mcp server

# optionally cd $HOME mkdir awaberry cd awaberry # Clone the repository git clone https://github.com/awaberry/mcp_server_awaberry.git cd mcp_server_awaberry # Install dependencies npm install PWD # outputs the absolute path to mcp_server_awaberry which will be required in the later configuration setup

Setup of an awaBerry MCP Server in company environments

Please read the fileMCPSERVER.mdfor setup instructions of an awaBerry MCP Server in local environments or as a Cloudflare worker.

To use awaBerry with Claude Desktop, add the server configuration to yourclaude_desktop_config.jsonfile.

- On macOS:~/Library/Application Support/Claude/claude_desktop_config.json
- On Windows:%APPDATA%/Claude/claude_desktop_config.json

{ "mcpServers": { "awaberry": { "command": "node", "args": [ "/absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients/start-awaberry-mcp.js" ] } } }

Important:Replace/absolute/path/to/mcp_server_awaberrywith the actual absolute path to your installation (e.g.,/Users/username/projects/mcp_server_awaberry).

Configuration of the MCP server and credentials

To the awaBerry MCP server, add the following configurations

To setup of server url, project key and project secret, copy the file awaberry-config.json.example to awaberry-config.json.

cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/mcpclients cp awaberry-config.json.example awaberry-config.json
{ "serverUrl": "<serverUrl>", "env": { "AWABERRY_PROJECT_KEY": "<AWABERRY_PROJECT_KEY>", "AWABERRY_PROJECT_SECRET": "<AWABERRY_PROJECT_KEY>" } }

- serverUrl: with the server your company IT team has installed for you or your local mcp server. Start your local mcp server as follow:

For connecting via a local mcp server, use <!-- -->http://localhost:3000/mcp. For starting the mcp server do in a terminal

cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/ npm run start:mcp:json

To monitor the mcp server log open another terminal and type

cd /absolute/path/to/mcp_server_awaberry/mcp_server_awaberry/ tail -f activitylog.log

- AWABERRY_PROJECT_KEY: the received project key for an awaBerry Agentic project
- AWABERRY_PROJECT_SECRET: the received project secret.

Once configured, restart Claude Desktop and use natural language to interact with your devices:

Connect to my device "laptop-macos"

Find all text files files modified in the last 7 days in my home directory

Execute the backup script at ~/scripts/backup.sh

All activity is logged toactivitylog.login the project root directory. Logs include:

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

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 are enforced by the awaberry platform:

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

Check your plan details atawaberry Agenticfor specific limits.

- Ensure Node.js >= 18 is installed:node --version
- Check that all dependencies are installed:npm install
- Verify the file path inclaude_desktop_config.jsonis absolute and correct.
- Check for syntax errors in the config JSON file.

- Allow Claude Desktop to execute requests to awaBerry, it it asks for permissions.
- Verify your project key and secret are correct in the environment variables.
- Ensure the device name matches exactly (it is case-sensitive).
- Check that the device is online and connected to awaberry.
- Reviewactivitylog.logfor detailed error messages.
- Confirm the device is registered in your awaberry project.

- Check that the device is still connected.
- Ensure the command syntax is correct for the target OS.
- Review command output inactivitylog.log.
- Check device permissions for the command you're trying to run.

Claude Desktop doesn't show the MCP server

- Restart Claude Desktop after modifying the config file.
- Check the JSON syntax inclaude_desktop_config.json.
- Ensure the file path uses forward slashes (/) or properly escaped backslashes (\\).
- Look for errors in Claude Desktop's logs.

- Store yourAWABERRY_PROJECT_KEYandAWABERRY_PROJECT_SECRETsecurely.
- 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.

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

- awaberry Documentation:www.awaberry.com/manual
- awaberry Support:
www.awaberry.com/support

Secure Zero-Trust SSH Gateway for AI Agents. A Go-based Model Context Protocol (MCP) server featuring runtime Regex Command Firewalls and multi-host isolation.

DevOps MCP — Secure MCP Server for Linux Server Automation

A three-tier access control MCP server that allows AI assistants (Claude Code, Cursor, Windsurf) to safely scan, plan, and operate Linux servers via SSH without full write access. Includes an out-of-band human consent token gate, automated port-conflict scanning, and a completely read-only default safe mode to eliminate accidental destructive commands on production environments.

Give your AI agents access to production without the risks of sharing SSH keys.

A security-focused MCP server for performing safe operations on an Ubuntu system, featuring robust security controls and audit logging.

A MCP server to allow your AI agent to manage your SikkerKey secrets vault.

Manage Akamai's edge platform, including properties, DNS, certificates, security, and performance optimization, using AI assistants.

Secure every MCP server with one governed gateway. Give each AI agent its own scoped MCP access, contain credentials at the gateway, and audit every MCP tool call without wiring agents directly to each server.

Provides a unified interface to AWS services for security investigations and incident response.

An MCP server that enables AI assistants to interact with AWS security services.

A comprehensive MCP server for configuring and managing Cisco ACI (Application Centric Infrastructure) fabrics through the APIC REST API.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.