Skip to main content
Glama

Hebline MCP Server

Your agents overpay for every API call. We fix that.

Hebline routes every API call — including LLM calls — to the best service at the right price. Free when it's enough. Paid when it matters. It knows the difference.

Every other router earns a margin on your paid calls. Routing you to free alternatives kills their revenue. No margin on your API calls. Ever.

Why Hebline?

Your agents are bleeding money. One task triggers 5–10 paid API calls across different providers. No transparency, no cost control. Hebline fixes that:

  • Route free first — Most calls don't need the best model. Hebline learns precisely when it matters — and keeps learning as the market changes.

  • No margin. Honest routing. — We don't earn when you pay more. So we're the only router built to actually save you money.

  • Provider Abstraction — Your agent says what it needs ("geocode this address"), not which service to use. Swap providers without changing agent code.

  • Cost Transparency — Every call is logged with service used, latency, and cost. Know exactly what your agents spend.

  • Learns from usage — Hebbian learning strengthens what works, weakens what doesn't. Your broker gets smarter every day.

  • BYOK (Bring Your Own Key) — Paid services use your API keys via environment variables. No key? The service is automatically excluded from routing.

  • GDPR compliant — Only anonymized metadata logged. No API call content stored. Self-hosted option for zero data leaving your network.

  • Open Source — Core MCP server is MIT licensed. Community-driven adapter system.

Related MCP server: Clawy MCP Server

How It Works

Your AI Agent ←→ Hebline MCP Server ←→ Best API (Nominatim, DeepL, Google Maps, ...)
                        │
                   Smart Routing
                   Cost Logging
                   Provider Scoring

Your agent connects to Hebline as an MCP server. Instead of calling APIs directly, it uses Hebline's tools — execute, compare, or categories. Hebline scores all available services, picks the best one, makes the call, and returns the result with full metadata.

Available MCP Tools

Tool

Description

execute

Route to the best service and make the API call. Returns result + metadata (service, cost, latency).

compare

Show all available services for a capability with scores. See what's available before committing.

categories

List all supported capabilities and their services.

Quick Start

Add to Claude Desktop

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "hebline": {
      "command": "npx",
      "args": ["-y", "-p", "@hebline.ai/mcp-server", "hebline-mcp"]
    }
  }
}

Add to Claude Code

Add to .mcp.json:

{
  "mcpServers": {
    "hebline": {
      "command": "hebline-mcp"
    }
  }
}

Add to Cursor

Add to .cursor/mcp.json:

{
  "mcpServers": {
    "hebline": {
      "command": "npx",
      "args": ["-y", "-p", "@hebline.ai/mcp-server", "hebline-mcp"]
    }
  }
}

Add to Windsurf

Add to ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "hebline": {
      "command": "npx",
      "args": ["-y", "-p", "@hebline.ai/mcp-server", "hebline-mcp"]
    }
  }
}

Add to VS Code (Copilot)

Add to .vscode/mcp.json:

{
  "servers": {
    "hebline": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "-p", "@hebline.ai/mcp-server", "hebline-mcp"]
    }
  }
}

Install globally

npm install -g @hebline.ai/mcp-server

With paid services (optional)

Set environment variables for any paid providers you want to use:

GOOGLE_MAPS_API_KEY=your-key-here
DEEPL_API_KEY=your-key-here
LIBRETRANSLATE_API_KEY=your-key-here

No keys? No problem — Hebline routes to free alternatives automatically.

Supported Services

Category

Free

Paid (BYOK)

LLMs

Groq (Llama 3.3 70B), Google Gemini Flash

OpenAI GPT-4o-mini (OPENAI_API_KEY)

Geocoding

Nominatim (OpenStreetMap)

Google Maps (GOOGLE_MAPS_API_KEY)

Translation

MyMemory

DeepL (DEEPL_API_KEY), LibreTranslate (LIBRETRANSLATE_API_KEY)

Web Scraping

Fetch Scraper

Firecrawl (FIRECRAWL_API_KEY)

Currency

ExchangeRate-API

Fixer.io (FIXER_API_KEY)

OCR

OCR.space

Google Vision (GOOGLE_VISION_API_KEY)

Weather

Open-Meteo

OpenWeatherMap (OPENWEATHERMAP_API_KEY)

Web Search

DuckDuckGo

Brave Search (BRAVE_API_KEY)

News

HackerNews

NewsAPI.org (NEWSAPI_KEY)

9 categories, 20 services. Free services work instantly — no API key needed. LLMs route through the Hebline proxy when no local key is set (50 free calls/day).

Example

An agent asks: "Geocode the Brandenburg Gate in Berlin"

Hebline receives:

{
  "capability": "geocoding",
  "input": { "query": "Brandenburger Tor, Berlin" },
  "constraint": "free"
}

Hebline responds:

{
  "success": true,
  "data": {
    "lat": 52.5163,
    "lon": 13.3777,
    "displayName": "Brandenburger Tor, Pariser Platz, Berlin, 10117, Deutschland"
  },
  "meta": {
    "service": "Nominatim (OpenStreetMap)",
    "costUsd": 0,
    "latencyMs": 258,
    "score": 0.702,
    "free": true
  }
}

The agent got coordinates, knows it was free, and Hebline logged the call for future analysis.

Architecture

mcp-server/
├── src/
│   ├── index.ts              # MCP server entry point (stdio transport)
│   ├── types.ts              # Shared TypeScript types
│   ├── registry.ts           # Service definitions (capabilities, costs, scores)
│   ├── router.ts             # Weighted scoring engine (Hopfield-ready)
│   ├── logger.ts             # Append-only JSONL call log (~/.hebline/calls.jsonl)
│   ├── adapters/             # One adapter per service
│   │   ├── nominatim.ts      # Free geocoding
│   │   ├── google-maps.ts    # Paid geocoding (BYOK)
│   │   ├── mymemory.ts       # Free translation
│   │   ├── libretranslate.ts # Paid translation (BYOK)
│   │   └── deepl.ts          # Paid translation (BYOK)
│   └── tools/                # MCP tool definitions
│       ├── execute.ts        # Route + call best service
│       ├── compare.ts        # Score all services
│       └── categories.ts     # List capabilities

Call Logging

Every API call is logged to ~/.hebline/calls.jsonl:

{"timestamp":"2026-03-29T09:36:37Z","capability":"geocoding","serviceId":"nominatim","latencyMs":212,"success":true,"costUsd":0}

No content is logged — only metadata. This data will power Hebbian Learning in future versions.

Roadmap

  • Core MCP server with stdio transport

  • Weighted scoring router

  • Geocoding adapters (Nominatim, Google Maps)

  • Translation adapters (MyMemory, LibreTranslate, DeepL)

  • BYOK key management

  • Append-only call logging

  • CI/CD with GitHub Actions

  • Hebbian Learning — router learns from call history

  • Hopfield network scoring (replaces weighted scoring)

  • More categories (web scraping, currency, OCR, email)

  • Community adapter system

  • SSE transport for remote deployments

  • Web dashboard for cost analytics

  • Budget alerts and spending limits

  • Multi-agent cost attribution

Contributing

Contributions are welcome! Adding a new adapter is straightforward — implement the ServiceAdapter interface and register it.

git clone https://github.com/hebline/mcp-server.git
cd mcp-server
npm install
npm run build
npm test

License

MIT


Built by Hebline — Route free first. Only pay when necessary.

Available Tools

3 tools
categoriesB

List all capabilities Hebline supports and which services are available for each.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It implies a read-only operation ('List'), but doesn't specify whether it requires authentication, has rate limits, returns structured data, or involves pagination. For a tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's function without fluff. It's front-loaded with the core action ('List') and resource, making it easy to parse. Every word contributes to understanding, achieving ideal conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema), the description is adequate but not fully complete. It explains what the tool does but lacks details on return format, error handling, or behavioral constraints. With no annotations to fill gaps, it meets minimum viability but leaves room for improvement in guiding agent usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has 0 parameters, and schema description coverage is 100%, so there are no parameters to document. The description doesn't need to compensate for missing param info. A baseline of 4 is appropriate as it avoids redundancy and focuses on the tool's purpose without unnecessary parameter details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'List all capabilities Hebline supports and which services are available for each.' It uses specific verbs ('List') and identifies the resource ('capabilities Hebline supports'), making the function unambiguous. However, it doesn't explicitly differentiate from sibling tools (compare, execute), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like 'compare' or 'execute'. It doesn't mention prerequisites, timing, or contextual triggers. While the purpose is clear, the lack of comparative or conditional guidance limits its utility for an agent deciding between tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

compareB

Compare all available services for a capability. Shows scores, costs, and Hebline's recommendation.

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilityYesCapability to compare services for, e.g. 'geocoding', 'translation'
constraintNoCost constraint filterany
regionNoRegion filter, e.g. 'eu', 'us'

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions outputs (scores, costs, recommendation) but lacks details on behavioral traits such as data freshness, rate limits, authentication needs, or error handling. This is inadequate for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the purpose. It could be slightly more structured by separating key points, but it avoids redundancy and wastes no words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (comparison with multiple outputs), lack of annotations, and no output schema, the description is incomplete. It hints at outputs but doesn't detail format or behavior, leaving gaps for the agent to handle mutations or errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema fully documents all three parameters. The description adds no additional meaning beyond what the schema provides, such as examples or constraints not in the schema, meeting the baseline for high coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'compare' and the resource 'all available services for a capability', with specific outputs mentioned ('scores, costs, and Hebline's recommendation'). It distinguishes from sibling tools 'categories' and 'execute' by focusing on comparison rather than listing or execution.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives like 'categories' or 'execute'. The description implies usage for comparing services but doesn't specify scenarios, prerequisites, or exclusions, leaving the agent to infer context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

executeB

Route to the best service and execute the API call. Returns result with metadata (service used, cost, latency).

ParametersJSON Schema
NameRequiredDescriptionDefault
capabilityYesWhat you need, e.g. 'geocoding', 'translation'
inputYesService-specific input (e.g. { query: 'Berlin' } for geocoding, { text: 'Hello', target: 'de' } for translation)
constraintNoCost constraint: 'free' = only free services, 'cheapest' = prefer lowest cost, 'any' = best overallany
regionNoPreferred region, e.g. 'eu', 'us'. Omit for global.

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It mentions that the tool returns 'result with metadata (service used, cost, latency)', which adds some behavioral context. However, it lacks details on permissions, rate limits, error handling, or side effects, which are important for a tool that executes API calls and routes services.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise and front-loaded: it states the core purpose in the first clause and adds return details in parentheses. Every sentence earns its place with no wasted words, making it efficient and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (executes API calls with routing) and lack of annotations/output schema, the description is moderately complete. It covers the purpose and return metadata, but gaps remain in behavioral details and usage guidelines. It's adequate but has clear room for improvement in context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters. The description adds no additional meaning beyond what the schema provides (e.g., it doesn't explain parameter interactions or usage examples). Baseline is 3 when schema coverage is high and description doesn't compensate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Route to the best service and execute the API call.' It specifies the action (route and execute) and resource (API call), but doesn't distinguish it from sibling tools like 'categories' or 'compare' which have different purposes. The description is specific but lacks sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools or other contexts, and offers no explicit when/when-not scenarios. Usage is implied (e.g., for API calls with routing), but no clear alternatives or exclusions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A3.7/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: 'categories' lists capabilities and services, 'compare' analyzes service options with recommendations, and 'execute' routes and runs API calls. The separation between listing, comparing, and executing is unambiguous.

Naming Consistency5/5

All tool names follow a consistent verb-only pattern in lowercase, with no mixing of conventions. The naming is straightforward and predictable across the set.

Tool Count5/5

Three tools is well-scoped for the server's purpose of managing and executing API services through Hebline. Each tool earns its place by covering a distinct phase: discovery, comparison, and execution.

Completeness5/5

The tool set provides complete coverage for the domain: it allows agents to discover capabilities, compare service options, and execute calls with metadata. There are no obvious gaps in the workflow from start to finish.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Universal AI API Orchestrator. 850 tools across 53 services under a single MCP interface. Connect Claude, GPT, or Gemini to Stripe, Slack, GitHub, LinkedIn, Cloudflare, Shopify, Twilio, and 46 more via natural language. $0.10/execution, no subscription. Patent Pending.
    291
    5
  • A
    license
    B
    quality
    D
    maintenance
    Pay-per-use API tools and LLM gateway for AI agents. 15 services (DART, Tabelog, Google Maps, Brave Search, Firecrawl, DeepL, ElevenLabs, and more) + smart LLM routing. No API keys needed, pay with USDC on Base.
    25
    28
    2
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Routes your AI tasks to the best available model across 20+ providers — automatically selecting based on task type, budget, and subscription pressure. Supports text, image, video, and audio with built-in cost optimization and fallback chains.
    60
    76
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Hebline/mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server