Skip to main content
Glama
rilexus

delta-mcp-prototype

by rilexus
README.md
# delta-mcp-prototype

An MCP (Model Context Protocol) server that wraps the [UMT](https://ubermetrics-technologies.com) media monitoring API, exposing media mention search as a tool for MCP-compatible clients (e.g. Claude Desktop, Claude Code).

## Requirements

- Node.js 22 (see `.nvmrc`)
- A UMT account (username/password)

## Installation

```bash
npm install
```

## Usage

Run the server with your UMT credentials passed as environment variables:

```bash
UMT_USERNAME=<username> UMT_PASSWORD=<password> node index.js [--env delta|beta]
```

- `UMT_USERNAME` / `UMT_PASSWORD` — UMT account credentials (required). Environment variables are recommended over CLI flags since flags are visible to other processes/users via the process list; `--username`/`--password` are still accepted as a fallback for quick local testing.
- `--env` — API environment, `delta` (default) or `beta`

The server communicates over stdio, so it's meant to be launched by an MCP client rather than run standalone.

### Connecting to an MCP client

Example configuration (e.g. Claude Desktop `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "delta-mcp-prototype": {
      "command": "npx",
      "args": ["delta-mcp-prototype", "--env", "beta"],
      "env": {
        "UMT_USERNAME": "<username>",
        "UMT_PASSWORD": "<password>"
      }
    }
  }
}
```

## Tools

- **`fetch_mentions`** — Fetch media mentions with filters for search id, phrase, date range, language, country, media segment, sentiment, and tags. Returns a paginated list of mentions (title, url, media segment, published date, sentiment, virality, link counts).
- **`current_date_and_time`** — Returns the current date, time, and timezone; useful for resolving relative date ranges.

## Build

Bundle the server into a single file with esbuild:

```bash
npm run build
```

Output is written to `dist/index.js`.

## Project structure

```
index.js         CLI entry point — parses args, starts the server
src/index.js     MCP server setup and tool registration
src/tools.js     Tool definitions (fetch_mentions, current_date_and_time)
src/umt-dao.js   UMT API client (auth + mentions endpoint)
src/env.js       Environment/base URL constants
src/utils.js     Small helpers (object path access, TOON encoding, try/catch)
```

TDQS

A4/5.0

Scored across 2 tools

Disambiguation5/5

The two tools serve completely different purposes: one provides current date/time, the other fetches media mentions with many filters. There is no overlap or ambiguity.

Naming Consistency5/5

Both tool names follow a consistent verb_noun pattern using snake_case ('current_date_and_time', 'fetch_mentions'), making them predictable and easy to understand.

Tool Count3/5

With only two tools, the server feels thin for a media monitoring prototype. The inclusion of a generic date/time utility alongside a specialized mentions fetcher suggests a lack of focused scope, but it is not extreme.

Completeness2/5

The fetch_mentions tool is comprehensive with many filters, but there are no tools for creating, updating, or managing mentions. The date/time tool is unrelated to the core domain, leaving significant gaps for a full media monitoring workflow.

Maintenance

ActivityStale
ResponsivenessNo issues