Warmline
FreeNot checkedScore and rank inbound/outbound leads from a YAML rulebook, emitting a ranked queue as JSON/CSV for your SDRs and CI gates.
About
Score and rank inbound/outbound leads from a YAML rulebook, emitting a ranked queue as JSON/CSV for your SDRs and CI gates.
README
WARMLINE
Score and rank inbound/outbound leads from a YAML rulebook, emitting a ranked queue as JSON/CSV for your SDRs and CI gates.
PyPI CI License: COCL 1.0 Suite
Part of the Cognis Neural Suite.
pip install cognis-warmline
warmline scan . # → prioritized findings in seconds
🔎 Example output
Real, reproducible output from the tool — runs offline:
$ warmline-emit --version
warmline 0.1.0
$ warmline-emit --help
usage: warmline [-h] [--version] {score} ...
Git-versioned lead scoring: score & rank leads from a YAML rulebook.
positional arguments:
{score}
score score leads and print a ranked queue
options:
-h, --help show this help message and exit
--version show program's version number and exit
WARMLINE CLI — score and rank leads from a YAML rulebook.
Examples:
# Rank leads, human-readable table
warmline score --rules rulebook.yaml --leads leads.csv
# Emit ranked queue as JSON for piping into CI / a CRM sync
warmline score -r rulebook.yaml -l leads.json --format json > queue.json
# Gate: fail (exit 2) if no lead reaches the 'hot' tier
warmline score -r rulebook.yaml -l leads.csv --min-tier hot
Exit codes:
0 success
1 usage / parsing error
2 gate failure (--min-tier / --min-score not met by any lead)
Blocks above are real
warmlineoutput — reproduce them from a clone.
Sample result format (illustrative values — run on your own data for real findings):
{
"findings": [
{
"id": "1234567890",
"title": "Suspicious Activity Detected",
"description": "Anomalous network traffic observed from IP 192.168.1.100",
"labels": ["suspicious", "network"]
},
{
"id": "2345678901",
"title": "Malware Detection",
"description": "Malware identified on system with ID 1234567890",
"labels": ["malware", "system"]
}
]
}
Usage — step by step
- Install the CLI (console script
warmline):pip install cognis-warmline - Score & rank leads against a YAML rulebook (leads file may be
.csv,.json, or.yaml):warmline score --rules rulebook.yaml --leads leads.csv - Read the ranked queue as JSON for a CRM sync or pipeline, and trim to the top N:
warmline score -r rulebook.yaml -l leads.json --format json --top 25 > queue.json - Gate on a tier or score — exit 2 if no lead reaches the threshold:
warmline score -r rulebook.yaml -l leads.csv --min-tier hot warmline score -r rulebook.yaml -l leads.csv --min-score 80 - Automate in CI — fail the job unless at least one lead is hot:
- run: pip install cognis-warmline - run: warmline score -r rulebook.yaml -l leads.csv --format json --min-tier hot
Contents
- Why warmline? · Features · Quick start · Example · Architecture · AI stack · How it compares · Integrations · Install anywhere · Related · Contributing
Why warmline?
A self-hostable, git-versioned lead-scoring engine — every score change is a reviewable PR diff, killing the 'why did this lead get routed here' black box.
warmline is single-purpose, scriptable, and self-hostable: point it at a target, get prioritized results in the format your workflow already speaks (table · JSON · SARIF), gate CI on it, and let agents drive it over MCP.
Features
- ✅ Parse Simple Yaml
- ✅ Load Rulebook
- ✅ Load Rulebook File
- ✅ Load Leads
- ✅ Load Leads File
- ✅ Score Lead
- ✅ Score Leads
- ✅ Rank
- ✅ Runs on Linux/macOS/Windows · Docker · devcontainer
- ✅ Ports in Python, JavaScript, Go, and Rust (
ports/)
Quick start
pip install cognis-warmline
warmline --version
warmline scan . # scan current project
warmline scan . --format json # machine-readable
warmline scan . --fail-on high # CI gate (non-zero exit)
Example
$ warmline scan .
[HIGH ] WAR-001 example finding (./src/app.py)
[MEDIUM ] WAR-002 another signal (./config.yaml)
2 findings · risk score 5 · 38ms
Architecture
flowchart LR
IN[input] --> P[warmline<br/>analyze + score]
P --> OUT[report]
Use it from any AI stack
warmline is interoperable with every popular way of using AI:
- MCP server —
warmline mcp(Claude Desktop, Cursor, Cognis.Studio, uncensored-fleet) - OpenAI-compatible / JSON — pipe
warmline scan . --format jsoninto any agent or LLM - LangChain · CrewAI · AutoGen · LlamaIndex — wrap the CLI/JSON as a tool in one line
- CI / scripts — exit codes + SARIF for non-AI pipelines
How it compares
| Cognis warmline | n8n + dbt (declarative scoring) crossed with HubSpot lead scoring | |
|---|---|---|
| Self-hostable, no account | ✅ | varies |
| Single command, zero config | ✅ | ⚠️ |
| JSON + SARIF for CI | ✅ | varies |
| MCP-native (AI agents) | ✅ | ❌ |
| Polyglot ports (JS/Go/Rust) | ✅ | ❌ |
| Open license | ✅ COCL | varies |
Built in the spirit of n8n + dbt (declarative scoring) crossed with HubSpot lead scoring, re-framed the Cognis way. Missing a credit? Open a PR.
Integrations
Pipes into your stack: SARIF for code-scanning, JSON for anything, an MCP server (warmline mcp) for AI agents, and a webhook forwarder for SIEM/Slack/Jira. See docs/INTEGRATIONS.md.
Install — every way, every platform
pip install "git+https://github.com/cognis-digital/warmline.git" # pip (works today)
pipx install "git+https://github.com/cognis-digital/warmline.git" # isolated CLI
uv tool install "git+https://github.com/cognis-digital/warmline.git" # uv
pip install cognis-warmline # PyPI (when published)
docker run --rm ghcr.io/cognis-digital/warmline:latest --help # Docker
brew install cognis-digital/tap/warmline # Homebrew tap
curl -fsSL https://raw.githubusercontent.com/cognis-digital/warmline/main/install.sh | sh
| Linux | macOS | Windows | Docker | Cloud |
|---|---|---|---|---|
scripts/setup-linux.sh |
scripts/setup-macos.sh |
scripts/setup-windows.ps1 |
docker run ghcr.io/cognis-digital/warmline |
DEPLOY.md (AWS/Azure/GCP/k8s) |
Related Cognis tools
- coldforge — Render personalized cold-outreach sequences from Markdown templates + a contacts CSV, with spam-score linting and per-send dry-run preview.
- pactgen — Generate branded sales proposals and SOWs from a YAML scope file + pricing table into PDF/HTML, with a deterministic line-item math check.
- crmsync — Bidirectional, idempotent sync of contacts/deals between a local SQLite source-of-truth and CRM APIs (HubSpot/Pipedrive/Salesforce) via one config.
- dripcheck — Lint email sequences and drip campaigns for deliverability: SPF/DKIM/DMARC, link health, unsubscribe presence, and CAN-SPAM/GDPR compliance.
- dealflow — Model your sales pipeline as a YAML state machine and compute conversion rates, stage velocity, and weighted forecast straight from CRM exports.
- introbot — Find warm-intro paths through your team's combined network graph and draft double-opt-in intro requests from a single contacts manifest.
Explore the suite → 🗂️ all 170+ tools · ⭐ awesome-cognis · 🔗 cognis-sources · 🤖 uncensored-fleet · 🧠 engram
Contributing
PRs, new rules, and demo scenarios are welcome under the collaboration-pull model — see CONTRIBUTING.md and SECURITY.md.
⭐ If
warmlinesaved you time, star it — it genuinely helps others find it.
Interoperability
{} composes with the 300+ tool Cognis suite — JSON in/out and a shared
OpenAI-compatible /v1 backbone. See INTEROP.md for the
suite map, composition patterns, and reference stacks.
License
Source-available under the Cognis Open Collaboration License (COCL) v1.0 — free for personal, internal-evaluation, research, and educational use; commercial / production use requires a license ([email protected]). See LICENSE.
Install Warmline in Claude Desktop, Claude Code & Cursor
unyly install warmlineInstalls into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.
First time? Get the CLI: curl -fsSL https://unyly.org/install | sh
Or configure manually
Run in your terminal:
claude mcp add warmline -- uvx --from git+https://github.com/cognis-digital/warmline cognis-warmlineStep-by-step: how to install Warmline
FAQ
Is Warmline MCP free?
Yes, Warmline MCP is free — one-click install via Unyly at no cost.
Does Warmline need an API key?
No, Warmline runs without API keys or environment variables.
Is Warmline hosted or self-hosted?
Self-hosted: the server runs locally on your machine via the install command above.
How do I install Warmline in Claude Desktop, Claude Code or Cursor?
Open Warmline on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
Related MCPs
GitHub
PRs, issues, code search, CI status
by GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
by mcpdotdirectAmap Maps Mcp Server
MCP server for using the AMap Maps API
by duxiaohuiSupabase
Database, auth and storage
by SupabaseEverything
Reference / test server with prompts, resources, and tools.
Git
Tools to read, search, and manipulate Git repositories.
Sequential Thinking
Dynamic and reflective problem-solving through thought sequences.
Time
Time and timezone conversion capabilities.
Compare Warmline with
Not sure what to pick?
Find your stack in 60 seconds
Author?
Embed badge for your README
Browse similar
All development MCPs
