ProductNerveCenter

ProductNerveCenter

An MCP server that exposes product-management tools for AI agents, including backlog prioritization, feedback analysis, capacity assessment, and dependency mapping.

Category
Visit Server

README

An MCP (Model Context Protocol) server that exposes product-management tools for AI agents. Built with the MCP Python SDK using FastMCP.

Tools

Tool Description
prioritize_backlog Rank backlog items using RICE, value/effort, or customer-signal scoring
analyze_feedback Extract and rank themes from customer feedback
assess_capacity Calculate per-engineer sprint capacity with carry-over and skill-fit checks
map_dependencies Trace dependency chains via BFS and surface risks

Project Structure

ProductNerveCenter/
├── server.py                      # MCP server — data loading + tool wrappers
├── olympics.json                  # Evaluation agent configuration
├── tools/
│   ├── __init__.py                # Package exports
│   ├── prioritize_backlog.py      # RICE / value-effort / customer-signal scoring
│   ├── analyze_feedback.py        # Theme extraction & grouping logic
│   ├── assess_capacity.py         # Sprint capacity calculation
│   └── map_dependencies.py        # BFS dep traversal & risk analysis
├── data/
│   ├── product_backlog.json       # 35 backlog items
│   ├── customer_feedback.json     # 90 customer feedback entries
│   ├── team_roster.json           # 8 engineers across 2 squads
│   ├── dependencies.json          # Dependency graph edges
│   └── sprint_history.json        # 6 sprint history records
├── oracle_connection/
│   └── README.md                  # Discovery process documentation
├── TECHNICAL_DECISIONS.md         # Design decisions log
├── data_dictionary.md             # Field definitions for all data files
├── requirements.txt
├── agent_config.json
└── env_vars.json

Prerequisites

  • Python 3.11 or 3.12
  • pip

Setup

# Set Python version (if using pyenv)
pyenv local 3.11.11  # or 3.12.3

# Create and activate virtual environment
python3 -m venv .venv
source .venv/bin/activate

# Install dependencies
pip install -r requirements.txt

Running the Server

stdio mode (for Claude Desktop / evaluation agent)

python3 server.py

HTTP mode (for browser/network clients)

python3 server.py http 8000

This starts a Streamable HTTP server at http://127.0.0.1:8000.

Connecting to the Server

From Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "devpulse": {
      "command": "python3",
      "args": ["/full/path/to/ProductNerveCenter/server.py"],
      "env": {
        "PM_AGENT_DATA": "/full/path/to/ProductNerveCenter/data",
        "MCP_DATA_URL": "https://co-mcp-server-dev.apps-internal.lrl.lilly.com/mcp"
      }
    }
  }
}

From another MCP client (HTTP mode)

from mcp.client.streamable_http import streamablehttp_client
from mcp import ClientSession

async with streamablehttp_client("http://127.0.0.1:8000/mcp") as (read, write, _):
    async with ClientSession(read, write) as session:
        await session.initialize()
        result = await session.call_tool("prioritize_backlog", {"method": "rice"})
        print(result)

Environment Variables

Variable Purpose Default
PM_AGENT_DATA Path to the data/ folder with JSON files ./data
MCP_DATA_URL Remote MCP server URL for team roster & dependency map https://co-mcp-server-dev.apps-internal.lrl.lilly.com/mcp

Quick Test (no remote server needed)

The server gracefully handles the remote MCP server being unreachable — it logs a warning and continues with empty roster/deps. You can run it locally right away:

source .venv/bin/activate
python3 server.py http 8000

You'll see:

[MCP] ... WARNING MCP server unreachable (...) — roster and deps will be empty

The 4 tools will still work using the local JSON files in data/.

Tool Details

prioritize_backlog

Parameter Type Default Description
method string "value_effort" Scoring method: "rice", "value_effort", "customer_signal"
filters dict null Filter by squad, status, or tags
include_dependency_check bool true Flag items with unresolved blockers

analyze_feedback

Parameter Type Default Description
time_range dict null {"start": "YYYY-MM-DD", "end": "YYYY-MM-DD"}
customer_tier string null "enterprise", "mid_market", or "startup"
source string null "support_ticket", "nps_survey", "sales_call", "user_interview"
group_by string "theme" "theme", "customer", or "source"

assess_capacity

Parameter Type Default Description
sprint_id string null Target sprint ID (uses latest if null)
squad string "all" Filter by squad name
include_carry_over bool true Subtract in-progress points from capacity
check_skill_fit bool false Flag skill mismatches on assigned items

map_dependencies

Parameter Type Default Description
item_ids list null Item IDs to trace (null = all in-progress/planned)
include_external bool true Include external dependencies
max_depth int 3 Maximum BFS traversal depth

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured