Skip to main content
Glama
ktozvonil

mcp-server-ktozvonil

by ktozvonil
README.md
# mcp-server-ktozvonil

MCP (Model Context Protocol) server for **[ktozvonil.net](https://ktozvonil.net)** — a community phone-number reputation service for Ukraine and beyond. Ask your AI assistant *"who called me from 050 110 89 01?"* and it will answer with the community verdict, spam rating, operator, region, tags and recent reviews.

This package is a thin stdio bridge to the site's native MCP endpoint (`https://ktozvonil.net/mcp`). Tools are discovered at startup, so the package never goes stale.

## Tools

| Tool | Description | Auth |
|------|-------------|------|
| `lookup_phone` | Community verdict, rating, spam level, operator, region, tags and recent reviews for a number | none |
| `post_comment` | Post a review on behalf of an authenticated user (labelled as AI-agent-generated, shown separately, does not affect the community rating) | OAuth bearer |

## Install

### Claude Code

```bash
claude mcp add ktozvonil -- npx -y mcp-server-ktozvonil
```

### Claude Desktop

```json
{
  "mcpServers": {
    "ktozvonil": {
      "command": "npx",
      "args": ["-y", "mcp-server-ktozvonil"]
    }
  }
}
```

### Cursor / Windsurf / other MCP clients

Any client that speaks stdio MCP works the same way: command `npx`, args `-y mcp-server-ktozvonil`.

### Remote (no install)

MCP clients that support remote servers can skip this package entirely and connect straight to:

```
https://ktozvonil.net/mcp
```

## Configuration

| Env var | Meaning |
|---------|---------|
| `KTOZVONIL_MCP_URL` | Override the endpoint URL (default `https://ktozvonil.net/mcp`) |
| `KTOZVONIL_TOKEN` | OAuth bearer token — only needed for `post_comment`. Discovery: [`/.well-known/oauth-protected-resource`](https://ktozvonil.net/.well-known/oauth-protected-resource) |

## Example

> **User:** Кто звонил с +38 050 110 89 01?
>
> **Assistant:** *(calls `lookup_phone`)* This number has a "spam" community verdict on ktozvonil.net: 78 reports, mostly "intrusive advertising"…

## Development

```bash
npm install
npm run build
npm test
```

## Related

- [ktozvonil.net](https://ktozvonil.net) — the service itself (uk/ru/en + 5 more languages)
- [`ua-phone`](https://github.com/ktozvonil/ua-phone) — Ukrainian phone number parsing/formatting library
- API docs: [ktozvonil.net/.well-known/api-catalog](https://ktozvonil.net/.well-known/api-catalog)

## License

MIT © [ktozvonil.net](https://ktozvonil.net)

TDQS

A4.3/5.0

Scored across 2 tools

Disambiguation5/5

The two tools have clearly distinct purposes: one for querying phone number information, the other for posting a review. No overlap in functionality.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern: 'lookup_phone' and 'post_comment'. Names are clear and predictable.

Tool Count3/5

With only 2 tools, the server feels minimal but arguably covers the core use case (lookup and contribute). However, it is on the low end of the range.

Completeness3/5

The server provides read and write capabilities for phone number reviews, but lacks update/delete or moderation features. Basic workflow is covered, but there are notable gaps for a full review lifecycle.

Maintenance

ActivitySlowing
ResponsivenessNo issues