Skip to main content
Glama

NormDevBlog MCP Server

The Model Context Protocol (MCP) server for NormDevBlog. Connects AI-powered editors (such as Google Antigravity, Cursor, Claude Desktop, and Windsurf) directly to your NormDevBlog backend for post authoring, local Markdown synchronization, taxonomy management, and safe administrative actions.


Features

  • Article Management:

    • list_articles: Discover published and draft articles with category/tag filtering.

    • get_article: Pull article content and YAML frontmatter metadata.

    • create_article: Create drafts or publish immediately.

    • update_article: Edit titles, summaries, content, categories, and tags.

    • publish_article / unpublish_article: Manage publishing state.

  • Two-Way Local Sync:

    • sync_down_articles: Export posts to a local folder as Markdown files with YAML frontmatter.

    • sync_up_article: Read edited local Markdown files and sync updates or new posts to the backend.

  • Human-Gated Safe Deletions:

    • delete_article & delete_tag: Require explicit confirmed=True to execute; otherwise, returns an informative safety warning without modifying data.

  • Taxonomy Management:

    • list_categories & create_category

    • list_tags, create_tag, & delete_tag

  • MCP Resources & Prompt Templates:

    • Resources: blog://categories, blog://tags, blog://articles/recent

    • Prompts: draft_blog_post, review_frontmatter


Related MCP server: wp-mcp

Installation & Setup

1. Requirements

  • Python 3.11+

  • Running NormDevBlog backend (http://localhost:8080)

2. Setup Virtual Environment

cd mcp-server
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

3. Configure Editor (e.g. Antigravity / Cursor / Claude Desktop)

Add the server to your editor's MCP server configuration (e.g., ~/.gemini/antigravity-ide/mcp_config.json or .vscode/settings.json):

{
  "mcpServers": {
    "normdevblog": {
      "command": "/run/media/normdevstorm/data-linux/dang-cay/agentic_ai/projects/normdevblog/mcp-server/.venv/bin/python",
      "args": ["-m", "blog_mcp.server"],
      "env": {
        "BLOG_API_BASE_URL": "http://localhost:8080",
        "BLOG_API_TOKEN": "<YOUR_ADMIN_OR_AUTHOR_JWT_TOKEN>"
      }
    }
  }
}

Running Tests & Linters

cd mcp-server
.venv/bin/pytest tests/
.venv/bin/ruff check blog_mcp/ tech_radar_mcp/ tests/


Tech Radar & Career Intelligence MCP

An autonomous Tech Radar server that keeps you current on the engineering tech landscape — aggregating top articles across favorite publications, extracting clean content for AI synthesis, generating progressive learning roadmaps, and evaluating live job market demand signals — all without any paid API keys.


Tech Radar Features

  • Multi-Source Article Discovery:

    • get_top_articles: Query top-voted, trending, or newest articles filtered by topics/tags across all tracked sources.

    • list_trending_tech: Return the top trending tags and categories observed across cached articles.

  • Source Onboarding (setup_source):

    • Register any tech publication by name or domain — presets for bytebytego, devto, baeldung, medium, dailydev.

    • Auto-discovers RSS/Atom feeds from HTML <link rel="alternate"> tags or common probe paths (/feed, /rss, /atom.xml).

    • list_sources: Inspect all configured publications and sync metadata.

  • Article Content Extraction:

    • extract_article_content: Fetches the article URL and returns clean, structured Markdown stripped of boilerplate (<nav>, <script>, <header>, <aside>), with code blocks and architecture headings preserved for AI synthesis.

  • Career & Job Market Intelligence:

    • assess_job_market: Queries public developer job feeds (RemoteOK) for a target topic, returning hiring demand level (HIGH, MODERATE, EMERGING, NICHE), top required adjacent skills, sample roles, and estimated salary ranges — cached for 24 hours in local SQLite.

  • AI Learning Roadmap Prompt:

    • generate_tech_roadmap: Prompt template guiding your agent through a structured 4-stage milestone curriculum for any engineering topic, informed by live trending articles and market demand signals.

  • MCP Resources:

    • techradar://sources: JSON snapshot of all active tracked publications.

    • techradar://trending: Top 20 trending articles across all sources.


Tech Radar Installation & Setup

1. Requirements

  • Python 3.11+

  • No external databases or paid API keys required

2. Environment Variables (Optional)

Variable

Default

Description

TECH_RADAR_DB_PATH

~/.tech-radar/radar.db

Path to local SQLite database

TECH_RADAR_CACHE_TTL_MINS

30

Article cache TTL in minutes

TECH_RADAR_MAX_ARTICLES_PER_SOURCE

25

Max articles fetched per source per sync

TECH_RADAR_REQUEST_TIMEOUT

15.0

HTTP request timeout in seconds

3. Configure Editor (e.g. Antigravity / Cursor / Claude Desktop)

Add to your editor's MCP configuration (e.g., ~/.gemini/antigravity-ide/mcp_config.json):

{
  "mcpServers": {
    "tech-radar": {
      "command": "/run/media/normdevstorm/data-linux/dang-cay/agentic_ai/projects/normdevblog/mcp-server/.venv/bin/python",
      "args": ["-m", "tech_radar_mcp"],
      "env": {
        "TECH_RADAR_DB_PATH": "/home/<YOUR_USER>/.tech-radar/radar.db",
        "TECH_RADAR_CACHE_TTL_MINS": "30"
      }
    }
  }
}
```AdminTagController#createTag

---

## Tech Radar Usage Examples

### Register a publication

setup_source(name="bytebytego")

→ Registers https://blog.bytebytego.com/feed immediately

setup_source(name="martinfowler.com")

→ Auto-discovers feed URL from tags


### Discover trending AI content

get_top_articles(tags=["agentic-ai", "llm"], sort_by="TRENDING", limit=5) list_trending_tech(domain="graph-engineering", limit=10)


### Extract article for AI synthesis

extract_article_content(url="https://dev.to/example/ai-agents-deep-dive")

→ Returns clean Markdown + extracted code blocks


### Assess tech job market

assess_job_market(topic="AI Agent")

→ Returns demand_level, top_skills, sample_roles, typical_salary_range


### Generate learning roadmap

generate_tech_roadmap(topic="Graph RAG", current_level="intermediate")

→ Prompts the agent to build a 4-stage milestone curriculum


---

## Tech Radar — Running Tests & Linting

```bash
cd mcp-server
.venv/bin/pytest tests/test_tech_radar_*.py -v
.venv/bin/ruff check tech_radar_mcp/ tests/test_tech_radar_*.py

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to manage VergeCMS blogs through natural language, providing complete CRUD operations for blogs and articles with secure browser-based authentication and automatic token persistence.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects WordPress sites to AI agents, enabling content management through natural language commands via the WordPress REST API.
    17 npm
    2
    MIT