内容数据服务器

一个只读的MCP服务器,用于向AI代理提供markmhendrickson.com网站的内容数据,包括文章、链接、时间线、页面、会议、咨询和投资信息。

  • by markmhendrickson
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 markmhendrickson/mcp-server-markmhendrickson

使用说明

Markmhendrickson MCP服务器

公开的只读MCP服务器 markmhendrickson.com AI代理的内容:帖子、链接、时间线、页面、会议、咨询和投资。它获取 仅生产JSON;不需要本地数据或环境变量。

概述

方面 细节
数据源 API生产(https://markmhendrickson.com/api/*.json)
运营 只读;没有凭据或本地存储
帖子 仅发布帖子(网站上的实时内容)

数据源

服务器从这些公共端点获取:

内容 URL
帖子 https://markmhendrickson.com/api/posts.json
友情链接 https://markmhendrickson.com/api/links.json
时间表 https://markmhendrickson.com/api/timeline.json
页面 https://markmhendrickson.com/api/pages.json
遇见 https://markmhendrickson.com/api/meet.json
咨询服务 https://markmhendrickson.com/api/consulting.json
投资 https://markmhendrickson.com/api/investing.json

提取后在内存中应用筛选。所有过滤器都在顶级字段上使用精确的键值匹配(例如。 {"slug": "some-slug"}, {"entry_type": "work"}).

工具

总结

工具 目的
markmhendrickson_get_posts 发布记录,带可选过滤器
markmhendrickson_get_links 链接记录,带可选过滤器
markmhendrickson_get_timeline 时间线记录,带可选过滤器
markmhendrickson_get_all_content 帖子、链接、时间线、页面、会议、咨询和投资于一个回复
markmhendrickson_get_about 主页/关于帖子(slug professional-mission)
markmhendrickson_get_meet 满足页面内容
markmhendrickson_get_consulting 咨询页面内容
markmhendrickson_get_investing 投资页面内容
markmhendrickson_get_pages 静态页面索引

markmhendrickson_get_posts

返回生产中的岗位记录。制作仅服务于已发布的帖子;草稿不包括在内。

参数

  • filters (对象,可选):精确匹配过滤器,例如。 {"category": "technical"}, {"slug": "truth-layer-agent-memory"}.

响应

  • success (布尔值)
  • data (帖子对象数组)
  • count (编号)

示例

// Request
{ "filters": { "slug": "truth-layer-agent-memory" } }

// Response
{
  "success": true,
  "data": [
    {
      "slug": "truth-layer-agent-memory",
      "title": "Building a truth layer for persistent agent memory",
      "published": true,
      "published_date": "2026-02-02",
      "category": "technical",
      "read_time": 6,
      "tags": "[\"truth-layer\", \"agents\"]"
    }
  ],
  "count": 1
}

markmhendrickson_get_links

返回生产中的链接记录(例如社交、联系人)。

参数

  • filters (对象,可选):精确匹配过滤器,例如。 {"active": true}.

响应

  • success, data (链接对象数组), count

示例

// Request
{ "filters": { "active": true } }

// Response
{
  "success": true,
  "data": [
    {
      "name": "GitHub",
      "url": "https://github.com/markmhendrickson",
      "icon": "Github",
      "description": "Code repositories and open source projects",
      "display_order": 1
    }
  ],
  "count": 1
}

markmhendrickson_get_timeline

从生产中返回时间线记录(如工作、教育)。

参数

  • filters (对象,可选):精确匹配过滤器,例如。 {"entry_type": "work"}.

响应

  • success, data (时间线对象阵列), count

示例

// Request
{ "filters": { "entry_type": "work" } }

// Response
{
  "success": true,
  "data": [
    {
      "role": "Founder",
      "company": "Startup (Neotoma & Ateles)",
      "date": "2025 – Present · Barcelona, Spain",
      "description": "[\"Building Neotoma...\"]"
    }
  ],
  "count": 1
}

markmhendrickson_get_all_content

获取所有端点,并在一个响应中返回帖子、链接、时间线、页面、会议、咨询和投资。没有参数。

响应

  • success (布尔值)
  • posts (数组)
  • links (数组)
  • timeline (数组)
  • pages (数组)
  • meet (数组)
  • consulting (数组)
  • investing (数组)
  • counts (对象): { "posts": n, "links": n, "timeline": n, "pages": n, "meet": n, "consulting": n, "investing": n }

示例

{
  "success": true,
  "posts": [...],
  "links": [...],
  "timeline": [...],
  "pages": [...],
  "meet": [...],
  "consulting": [...],
  "investing": [...],
  "counts": {
    "posts": 25,
    "links": 8,
    "timeline": 12,
    "pages": 3,
    "meet": 1,
    "consulting": 1,
    "investing": 1
  }
}

markmhendrickson_get_meet

从生产中返回满足页面内容。没有参数。

响应

  • success, data (会议页面记录数组), count

markmhendrickson_get_consulting

从生产中返回咨询页面内容。没有参数。

响应

  • success, data (咨询页面记录数组), count

markmhendrickson_get_investing

从生产中返回投资页面内容。没有参数。

响应

  • success, data (投资页面记录数组), count

markmhendrickson_get_pages

从生产中返回静态页面索引。没有参数。

响应

  • success, data (页面索引记录数组), count

markmhendrickson_get_about

返回主页/关于帖子(slug professional-mission).没有参数。

响应

  • success, data (单个帖子对象),或失败 success: false, error,并且可选 slug.

示例

{
  "success": true,
  "data": {
    "slug": "professional-mission",
    "title": "Mark Hendrickson",
    "published": true,
    "excerpt": "Building sovereign systems..."
  }
}

错误响应

失败时,服务器返回JSON,其中包含:

  • success: false
  • error:string(例如HTTP错误、超时)
  • data: [] 用于列表工具;省略 get_about

例子: {"success": false, "error": "Connection timeout", "data": [], "count": 0}.

需求

  • Python 3.10+
  • 依赖关系: mcp, httpx (参见 requirements.txt)

安装

cd mcp/markmhendrickson
python3 -m venv venv
source venv/bin/activate   # On Windows: venv\Scripts\activate
pip install -r requirements.txt

配置

不需要环境变量。服务器使用固定的生产URL。

光标

添加到MCP配置中(例如。 .cursor/mcp.json).使用相对路径时,命令的工作目录必须是存储库根目录:

{
  "mcpServers": {
    "markmhendrickson": {
      "command": "python3",
      "args": ["./mcp/markmhendrickson/markmhendrickson_mcp_server.py"]
    }
  }
}

克劳德桌面

使用绝对路径,这样服务器就可以运行,而不管工作目录如何:

{
  "mcpServers": {
    "markmhendrickson": {
      "command": "python3",
      "args": ["/absolute/path/to/repo/mcp/markmhendrickson/markmhendrickson_mcp_server.py"]
    }
  }
}

如果你使用venv,点 command 在venv Python和确保 httpx 安装在那辆车里。

跑步

从repo根目录:

./mcp/markmhendrickson/run-markmhendrickson-mcp.sh

脚本使用repo execution/venv 如果存在,否则系统 python3.

故障排除

问题 该怎么办
success: false 有连接/HTTP错误 检查网络;生产现场必须可达。
导入或运行时错误 安装deps: pip install -r requirements.txt (在用于运行服务器的同一环境中)。
Cursor看不到服务器 请确保MCP配置路径正确,并启动进程(检查Cursor日志)。

安全

  • 只读:服务器不写入或修改任何数据。
  • 代码中没有凭证或秘密;它只读取公共JSON URL。
  • 无法访问本地数据;所有内容都来自制作现场。