Server data from the Official MCP Registry
Revenue intelligence MCP: RFM analysis, 14.5-point ICP scoring, pipeline health. HubSpot.
Revenue intelligence MCP: RFM analysis, 14.5-point ICP scoring, pipeline health. HubSpot.
Valid MCP server (1 strong, 4 medium validity signals). 5 known CVEs in dependencies (1 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry.
4 files analyzed · 6 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Set these up before or after installing:
Environment variable: HUBSPOT_API_KEY
Environment variable: ARTEFACT_LICENSE_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-alexboissav-artefact-revenue-intelligence": {
"env": {
"HUBSPOT_API_KEY": "your-hubspot-api-key-here",
"ARTEFACT_LICENSE_KEY": "your-artefact-license-key-here"
},
"args": [
"artefact-mcp"
],
"command": "uvx"
}
}
}From the project's GitHub README.
The AI-native interface to your Revenue Operating System. Version-controlled GTM intelligence — signals, commits, and closed-loop measurement — accessible to any AI agent.
A Model Context Protocol (MCP) server that treats your Go-to-Market strategy like code: versioned, diffable, and deployable. Detect pipeline signals, identify scaling constraints, analyze value engines, and draft structured GTM changes — all through AI-native tool calls. Built on the Artefact Formula methodology from real B2B consulting engagements.
Traditional ICP models stop at firmographics. We triangulate across three dimensions to identify prospects with the right profile, the right behaviors, AND the right trajectory.
| Feature | HubSpot Official MCP | Generic Wrappers | Artefact MCP |
|---|---|---|---|
| CRUD operations | Yes | Yes | Via HubSpot API |
| RFM Analysis | No | No | 11-segment classification |
| ICP Triangulation | No | No | Firmographic + Behavioral + Growth Signals |
| Pipeline Health | No | No | 0-100 health score + exit criteria testing |
| Signal Detection | No | No | 6-type signal taxonomy |
| Constraint Analysis | No | No | Dominant bottleneck + Revenue Formula |
| Value Engine Analysis | No | No | Growth / Fulfillment / Innovation |
| GTM Commit Drafting | No | No | Structured change proposals with evidence |
| Methodology built-in | No | No | Artefact Formula (10 resources) |
| Works without API key | No | No | Yes (demo data) |
detect_signals — Pipeline Signal DetectionScans pipeline data for all 6 signal types from the Artefact signal taxonomy: velocity anomalies, conversion drop-offs, win/loss patterns, pipeline concentration, data quality issues, and SPICED frequency signals. Returns structured signal objects with strength scores (0-1), evidence, and recommended actions.
identify_constraint — Dominant Constraint AnalysisIdentifies which of the 4 scaling constraints (Lead Generation, Conversion, Delivery, Profitability) is bottlenecking revenue. Includes Revenue Formula breakdown (Traffic x CR1 x CR2 x CR3 x ACV) with gap-to-benchmark analysis and recommended focus.
analyze_engine — Value Engine HealthAnalyzes health of the 3 value engines: Growth (create/capture/convert demand), Fulfillment (onboard/deliver/renew/expand), and Innovation (gather/prioritize/build/launch). Returns engine-specific metrics, health scores, and integrated signal detection.
propose_gtm_change — GTM Commit DraftingEnables AI agents to propose structured GTM changes following the commit anatomy: Intent, Diff, Impact Surface, Risk Level, Evidence, and Measurement Plan. Supports 8 entity types (ICP, persona, positioning, pipeline stage, exit criteria, GTM motion, scoring model, playbook).
run_rfm — RFM AnalysisScores clients on Recency, Frequency, and Monetary value. Segments them into 11 categories (Champions through Lost) and extracts ICP patterns from top performers. Now includes signal framing — detects win/loss patterns, revenue concentration, and at-risk client signals. Supports B2B service, SaaS, and manufacturing presets.
qualify — ICP Triangulation FrameworkScores prospects across three dimensions: Firmographic Fit (industry, revenue, employees, geography), Behavioral Fit (tech stack, engagement, purchase history), and Growth Signals (hiring, funding, expansion). Now includes constraint context — maps prospect fit to your dominant scaling constraint. Returns tier classification (Ideal / Strong / Moderate / Poor) with engagement strategy.
score_pipeline_health — Pipeline Health ScoreAnalyzes open deals for velocity metrics, stage-to-stage conversion rates, bottleneck identification, and at-risk deal detection. Now supports optional exit criteria testing (pass/fail per criterion per deal) and includes signal framing for velocity anomalies and conversion drop-offs. Returns a 0-100 health score.
| URI | Description |
|---|---|
methodology://scoring-model | ICP Triangulation Framework technical reference |
methodology://tier-definitions | 4-tier classification system |
methodology://rfm-segments | 11 RFM segment definitions with scoring scales |
methodology://spiced-framework | SPICED discovery framework |
methodology://data-requirements | HubSpot data setup and enrichment requirements |
methodology://value-engines | 3 value engine definitions (Growth, Fulfillment, Innovation) with stages and metrics |
methodology://exit-criteria | Standard pipeline exit criteria per stage with proof requirements |
methodology://constraints | 4 scaling constraints with diagnostic criteria and remediation levers |
methodology://signal-taxonomy | 6 signal types with detection methods and action mappings |
methodology://revenue-formula | Revenue Formula breakdown: Traffic x CR1 x CR2 x CR3 x ACV x (1/Churn) |
methodology://gtm-commit-anatomy | 5 components of a structured GTM commit (intent, diff, impact, risk, evidence) |
⚠️ Important: The qualify tool requires specific data across all three dimensions:
✅ Native HubSpot data (Firmographic + Partial Behavioral):
⚠️ Requires external enrichment (Clay, Clearbit, or manual research):
See full guide: Ask your AI assistant to read methodology://data-requirements for complete setup instructions and Clay integration workflow.
pip install artefact-mcp
npx @smithery/cli install artefact-revenue-intelligence
claude mcp add artefact-revenue -- uvx artefact-mcp
Then ask:
Add to claude_desktop_config.json:
Recommended (Python method):
{
"mcpServers": {
"artefact-revenue": {
"command": "python3",
"args": ["-m", "artefact_mcp"],
"env": {
"HUBSPOT_API_KEY": "pat-na1-xxxxxxxx"
}
}
}
}
Alternative (uvx method):
{
"mcpServers": {
"artefact-revenue": {
"command": "uvx",
"args": ["artefact-mcp"],
"env": {
"HUBSPOT_API_KEY": "pat-na1-xxxxxxxx"
}
}
}
}
Note: If using uvx and seeing "Server disconnected" errors, see the Troubleshooting section below.
Add to .cursor/mcp.json:
Recommended (Python method):
{
"mcpServers": {
"artefact-revenue": {
"command": "python3",
"args": ["-m", "artefact_mcp"],
"env": {
"HUBSPOT_API_KEY": "pat-na1-xxxxxxxx"
}
}
}
}
Alternative (uvx method):
{
"mcpServers": {
"artefact-revenue": {
"command": "uvx",
"args": ["artefact-mcp"],
"env": {
"HUBSPOT_API_KEY": "pat-na1-xxxxxxxx"
}
}
}
}
from artefact_mcp.tools.signals import detect_signals
from artefact_mcp.tools.constraints import identify_dominant_constraint
from artefact_mcp.tools.engines import analyze_engine
from artefact_mcp.tools.gtm_commits import propose_gtm_change
from artefact_mcp.tools.rfm import run_rfm_analysis
from artefact_mcp.tools.icp import qualify_prospect
from artefact_mcp.tools.pipeline import score_pipeline
# Signal detection (no HubSpot key needed)
signals = detect_signals(source="sample")
# Dominant constraint analysis
constraint = identify_dominant_constraint(source="sample", quota=500000)
# Value engine health
engine = analyze_engine(engine_type="growth", source="sample")
# GTM commit drafting
commit = propose_gtm_change(
entity_type="icp",
change_description="Narrow ICP to SaaS companies with 50-200 employees",
signal_type="win_loss_pattern",
signal_data={"win_rate_saas": 0.45, "win_rate_other": 0.22},
)
# RFM with sample data
results = run_rfm_analysis(source="sample", industry_preset="b2b_service")
# ICP qualification
score = qualify_prospect(company_data={
"industry": "SaaS",
"annual_revenue": 10_000_000,
"employee_count": 80,
"geography": "Quebec",
"tech_stack": ["HubSpot", "Google Analytics"],
"growth_signals": ["hiring", "funding"],
"content_engagement": "active",
"decision_maker_access": "c_suite",
"budget_authority": "dedicated",
"strategic_alignment": "strong",
})
# Pipeline health with exit criteria
health = score_pipeline(source="sample", exit_criteria=[
{"stage": "Discovery", "criterion": "SPICED complete", "required_proof": "All 6 SPICED fields populated"}
])
Problem: Claude Desktop shows "MCP artefact-revenue: Server disconnected" error when using uvx as the command.
Cause: Claude Desktop (and other sandboxed applications) may not have access to uvx in your PATH. This commonly happens when uvx is installed via:
~/.local/bin/uvx~/.cargo/bin/uvx or other locationsSolutions:
Use Python method (recommended): Switch to python3 -m artefact_mcp method (see Claude Desktop section above). Python is always in PATH.
Use full uvx path: Find your uvx location and use the full path:
# Find uvx location
which uvx
# Example output: /Users/yourname/.local/bin/uvx
Then update your config with the full path:
{
"mcpServers": {
"artefact-revenue": {
"command": "/Users/yourname/.local/bin/uvx",
"args": ["artefact-mcp"],
"env": {}
}
}
}
Verify manually: Test that the MCP server starts correctly:
uvx artefact-mcp==0.3.3
# Should see: "Artefact Revenue Intelligence MCP Server running..."
Issue: Tools return "No HubSpot API key" errors.
Solution: Ensure HUBSPOT_API_KEY is set in your MCP server configuration. Or use source="sample" to test with demo data first.
Issue: Import errors when using python3 -m artefact_mcp.
Solution: Ensure the package is installed: pip install artefact-mcp or pip install --upgrade artefact-mcp.
| Variable | Required | Description |
|---|---|---|
HUBSPOT_API_KEY | No | HubSpot private app token. Without it, tools work with source="sample". |
ARTEFACT_LICENSE_KEY | No | License key for Pro/Enterprise tier. Free tier (sample data) works without a key. |
ARTEFACT_PROPERTY_MAPPING_PATH | No | Path to JSON file with custom HubSpot property mappings (Pro/Enterprise only). |
ARTEFACT_RFM_THRESHOLDS_PATH | No | Path to JSON file with custom RFM scoring thresholds (Pro/Enterprise only). |
If your HubSpot instance uses custom property names for behavioral and strategic fit data, you can configure property mappings. This allows the qualify tool to automatically fetch and score all ICP dimensions from your HubSpot data.
Create a JSON configuration file (e.g., artefact_property_mapping.json):
{
"tech_stack": "technologies_used",
"tech_stack_delimiter": ",",
"growth_signals": ["linkedin_hiring_count", "recent_funding_amount", "press_mentions"],
"growth_signal_keywords": {
"linkedin_hiring_count": "hiring",
"recent_funding_amount": "funding",
"press_mentions": "press"
},
"content_engagement": "hubspot_engagement_score",
"content_engagement_thresholds": {
"active": 10,
"occasional": 3
},
"decision_maker_access": "primary_contact_role",
"budget_authority": "budget_category",
"strategic_alignment": "revenue_ops_conviction"
}
Set the environment variable:
export ARTEFACT_PROPERTY_MAPPING_PATH=/path/to/artefact_property_mapping.json
Available Configuration Options:
| Property | Type | Description | Default |
|---|---|---|---|
tech_stack | string | HubSpot property name for tech stack | None |
tech_stack_delimiter | string | Delimiter for parsing text fields | ";" |
growth_signals | array | List of HubSpot properties indicating growth | None |
growth_signal_keywords | object | Map property names to signal keywords | {} |
content_engagement | string | HubSpot property for engagement score | None |
content_engagement_thresholds | object | Thresholds for active/occasional | {"active": 5, "occasional": 1} |
decision_maker_access | string | Strategic fit property | None |
budget_authority | string | Budget authority property | None |
strategic_alignment | string | Strategic alignment property | None |
Example HubSpot Properties:
Common custom properties to map:
tech_stack_used, technologies, crm_platformlinkedin_job_postings_count, recent_funding_round, press_mentions_count, new_office_openedhs_analytics_num_page_views, email_engagement_scoreprimary_contact_role, budget_category, growth_convictionThe qualify tool will automatically fetch and score these custom properties when a property mapping is configured.
Example Configuration Files:
Two example configurations are included in the repository:
property_mapping.example.json — Full configuration with all available optionsproperty_mapping.minimal.example.json — Minimal configuration for growth signals onlyCopy the appropriate example file and customize it for your HubSpot instance:
cp property_mapping.minimal.example.json my_property_mapping.json
# Edit my_property_mapping.json with your HubSpot property names
export ARTEFACT_PROPERTY_MAPPING_PATH=$(pwd)/my_property_mapping.json
Pro/Enterprise users can customize RFM scoring thresholds to match their industry or business model. The built-in presets (b2b_service, saas, manufacturing) may not perfectly fit your buying cycles or revenue ranges.
Create an RFM threshold configuration file (e.g., rfm_thresholds.json):
{
"recency_days": [60, 180, 365, 730],
"recency_scores": [5, 4, 3, 2, 1],
"frequency_counts": [5, 3, 2, 1],
"frequency_scores": [5, 4, 3, 2, 1],
"monetary_method": "percentile",
"monetary_percentiles": [80, 60, 40, 20]
}
Set the environment variable:
export ARTEFACT_RFM_THRESHOLDS_PATH=/path/to/rfm_thresholds.json
Available Configuration Options:
| Property | Type | Description | Default |
|---|---|---|---|
recency_days | array | Days since last purchase thresholds | [30, 90, 180, 365] |
recency_scores | array | Scores for each recency band (5 = best) | [5, 4, 3, 2, 1] |
frequency_counts | array | Transaction count thresholds | [10, 5, 3, 2] |
frequency_scores | array | Scores for each frequency band | [5, 4, 3, 2, 1] |
monetary_method | string | Scoring method: "percentile" or "fixed" | "percentile" |
monetary_percentiles | array | Percentile thresholds (for percentile method) | [80, 60, 40, 20] |
monetary_fixed_thresholds | array | Fixed dollar thresholds (for fixed method) | [100000, 50000, 25000, 10000] |
monetary_scores | array | Scores for each monetary band | [5, 4, 3, 2, 1] |
Example Configurations:
rfm_thresholds.example.json — Percentile-based monetary scoring (recommended for most use cases)rfm_thresholds.fixed_monetary.example.json — Fixed dollar thresholds for monetary scoringWhen to Use Fixed Thresholds:
Use "monetary_method": "fixed" when:
Use "monetary_method": "percentile" (default) when:
Custom Configuration Example:
cp rfm_thresholds.example.json my_rfm_thresholds.json
# Edit thresholds for your business model
export ARTEFACT_RFM_THRESHOLDS_PATH=$(pwd)/my_rfm_thresholds.json
The run_rfm tool will use your custom thresholds instead of the built-in presets.
## Pricing
| Tier | Price | What You Get |
|------|-------|-------------|
| **Free** | $0 | All 7 tools with built-in demo data (`source="sample"`) |
| **Pro** | $149/mo | Live HubSpot integration + all methodology resources |
| **Enterprise** | $499/mo | Pro + priority support + custom scoring presets |
[Purchase a license](https://artefactventures.lemonsqueezy.com)
## Alternatives & Comparisons
- **HubSpot Official MCP Server** — Read-only CRUD access to CRM objects. No scoring or intelligence.
- **CData HubSpot MCP** — SQL-based access to HubSpot data. No built-in methodology.
- **Zapier MCP** — Action triggers and workflow automation. Different use case.
- **Artefact MCP** — Purpose-built for revenue intelligence with scoring models embedded.
## FAQ
**Q: What MCP server should I use for revenue intelligence?**
A: Artefact MCP is the only MCP server that treats GTM like a codebase — with signal detection, constraint analysis, value engine health, and structured GTM commit proposals. Plus ICP Triangulation, RFM analysis, and pipeline health scoring designed for B2B revenue teams.
**Q: Does this replace the official HubSpot MCP server?**
A: They serve different purposes. HubSpot's server provides CRUD access to CRM objects. Artefact MCP provides intelligence and scoring on top of that data.
**Q: Can I use this without a HubSpot API key?**
A: Yes. All tools work with built-in demo data using `source="sample"`.
**Q: What data does this send externally?**
A: Tool results stay local. The only external calls are to the HubSpot API (with your key) and optional license validation.
## Development
```bash
git clone https://github.com/alexboissAV/artefact-mcp-server.git
cd artefact-mcp-server
pip install -e ".[dev]"
pytest tests/
fastmcp>=2.0 — MCP server frameworkhttpx>=0.25.0 — HTTP client for HubSpot APINo pandas, numpy, or heavy data libraries. Pure Python scoring logic.
Business Source License 1.1 — Free to use for connecting to MCP tools via AI assistants. Scoring methodology may not be extracted for competing products. Converts to MIT in 2030.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.