Skip to main content
Glama
telepist

cyberday-mcp

by telepist
README.md
# Cyberday MCP Server

An [MCP (Model Context Protocol)](https://modelcontextprotocol.io/) server for the [Cyberday.ai](https://www.cyberday.ai/) API. Enables AI agents (e.g. Claude Code, Claude Desktop) to read and manage your organization's data systems registry in Cyberday.

## Features

| Tool | Description |
|---|---|
| `list_systems` | List data systems with pagination (default 20 per page) |
| `search_systems` | Search/filter systems by name, status, framework, or assigned user |
| `get_system` | Get full details of a specific system by ID |
| `create_system` | Create a new data system |
| `create_system_advanced` | Create or update a system with extended fields (owner, admin, cost, processors, etc.) |
| `systems_summary` | Overview statistics: counts, status breakdown, hosting types, review status, framework coverage |

### Response formatting

- **Compact list view** — `list_systems` and `search_systems` return only key fields (name, status, owner, hosting, etc.)
- **Full details** — `get_system` returns all fields with human-readable names (e.g. `hosting_type`, `authentication_methods`)
- **Empty fields removed** automatically from all responses
- **HTML tags stripped** from text fields
- **Pagination** — `limit` and `offset` parameters on list/search tools

## Prerequisites

- Node.js 18+
- A Cyberday API key (requires admin access to generate)

## Installation

```bash
git clone https://github.com/telepist/cyberday-mcp.git
cd cyberday-mcp
npm install
npm run build
```

## Getting your API key

1. Log in to [Cyberday](https://www.cyberday.ai/)
2. Go to **Settings > Integration settings**
3. Enable **API Access**
4. Copy the API key

## Usage with Claude Code

Register the MCP server:

```bash
claude mcp add --transport stdio cyberday \
  -e CYBERDAY_API_KEY=your-api-key-here \
  -- node /path/to/cyberday-mcp/dist/index.js
```

Restart Claude Code. Then you can ask things like:

- "List our data systems"
- "Which systems are hosted outside EU?"
- "Show me the details of system 7796087"
- "Give me a summary of our system registry status"
- "Search for systems assigned to john@example.com"
- "Create a new system called 'Salesforce CRM'"

## Usage with Claude Desktop

Add to your Claude Desktop config (`claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "cyberday": {
      "command": "node",
      "args": ["/path/to/cyberday-mcp/dist/index.js"],
      "env": {
        "CYBERDAY_API_KEY": "your-api-key-here"
      }
    }
  }
}
```

## Development

```bash
npm run dev    # TypeScript watch mode
npm run build  # Build for production
npm start      # Start the server
```

## API limitations

The Cyberday public API currently supports **data systems management only**. Tasks, policies, frameworks, risks, and reports are not yet available via the API. The server is structured so that new endpoints can be easily added to `src/index.ts` as Cyberday expands its API.

Rate limit: **100 requests / 60 seconds**.

## License

[MIT](LICENSE)

TDQS

A3.8/5.0

Scored across 6 tools

Disambiguation4/5

Most tools are clearly distinct: list/search/get handle different retrieval needs, and systems_summary provides aggregate analytics. However, create_system and create_system_advanced overlap on creation, which could cause an agent to choose the wrong one when extended fields are needed.

Naming Consistency4/5

Five tools follow a consistent verb_noun snake_case pattern (list_systems, search_systems, get_system, create_system, create_system_advanced). The outlier systems_summary uses a noun_noun style, but the overall convention remains readable and predictable.

Tool Count5/5

With six tools, the set is well-scoped for a data-system registry MCP. Each tool covers a distinct operation or aggregation need, and the count avoids both excessive fragmentation and under-provisioning.

Completeness4/5

The surface covers list, search, get, create, update-via-advanced-create, and summary analytics. The main gap is a dedicated delete or archive operation, which is a minor omission for a registry but not a severe workflow blocker.

Maintenance

ActivityInactive
ResponsivenessNo issues