npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

geo-publisher-mcp

v0.1.6

Published

Agent-agnostic GEO publisher MCP with workspace profile, article, cover, and browser publishing tools

Downloads

1,216

Readme

GEO Publisher MCP

一个独立的、面向任意 Agent 的 GEO 发布 MCP Server。

它不依赖灵犀桌面端运行时,核心思路是:

  • Agent 通过 stdio 连接这个 Node MCP
  • MCP 在本地维护工作区 .geo/ 数据
  • Chrome 扩展通过 native host + WebSocket bridge 连接 MCP
  • 发布动作复用用户自己 Chrome 里的真实登录态

这套设计适合 WorkBuddy、Codex、Claude Desktop、Cursor 或任何支持 stdio MCP 的 Agent。

当前能力

  • 客户 8 要素资料检查、读取、更新
  • 5 维词库保存与轮换
  • 标题与正文保存
  • 封面图片保存
  • 发布任务创建、查询、重试
  • Chrome native host 安装
  • Chrome 扩展连接状态检查
  • 搜狐号、头条号、百家号发布

推荐安装心智

不要把“安装 native host”设计成 Agent 首次调用业务 tool 的副作用。
更好的方式是把安装和排障做成 CLI,一次人工执行,之后 Agent 只跑业务:

geo-publisher-mcp setup
geo-publisher-mcp doctor
geo-publisher-mcp mcp

这样更符合现在 MCP 生态里常见的 setup / doctor / mcp 分层。

工作区结构

每个工作区都会生成一个本地 .geo/ 目录:

.geo/
  customer-profile.md
  config.json
  intent-words.json
  runs.jsonl
  articles/
  covers/
  jobs/

这是面向 Agent 的本地事实源,不依赖灵犀 store。

工具列表

  • geo_profile_check
  • geo_profile_read
  • geo_profile_update
  • geo_generation_context
  • geo_intent_words_save
  • geo_intent_words_pick
  • geo_article_save
  • geo_cover_save
  • geo_publish_article
  • geo_get_job_status
  • geo_retry_job
  • geo_validate_bridge
  • geo_install_native_host
  • geo_connection_status

CLI 命令

1. setup

geo-publisher-mcp setup

作用:

  • 安装或更新 Chrome native host manifest
  • 输出 WorkBuddy 推荐配置
  • 提示下一步

注意:setup 不建议直接通过临时 npx 环境执行,因为 manifest 需要稳定路径。

2. doctor

geo-publisher-mcp doctor

作用:

  • 检查 manifest 是否已安装
  • 检查当前脚本路径是否稳定
  • 检查 bridge 当前是否可达
  • 输出排障建议

3. config

geo-publisher-mcp config --global
geo-publisher-mcp config

默认输出 npx 版 WorkBuddy 配置;加 --global 输出全局安装版配置。

4. mcp

geo-publisher-mcp mcp

这是给 WorkBuddy / Codex / Claude 等 Agent 作为 stdio MCP 进程启动的命令。

5. --native-host

geo-publisher-mcp --native-host

这个模式由 Chrome Native Messaging 启动,通常不需要手工执行。

首装方式

方式 A:npm 全局安装(推荐)

npm install -g geo-publisher-mcp
geo-publisher-mcp setup

方式 B:本地源码安装

npm install
npm run build
node dist/index.js setup

方式 C:curl 安装器

可以后续提供:

curl -fsSL https://your-domain/install-geo-publisher.sh | bash

脚本本质上仍然应该做“稳定安装 + setup”,而不是只跑一次临时 npx setup

建议的 MCP 配置

WorkBuddy 推荐:全局安装版

{
  "mcpServers": {
    "geo-publisher": {
      "command": "geo-publisher-mcp",
      "args": ["mcp"]
    }
  }
}

WorkBuddy 备选:npx 版

{
  "mcpServers": {
    "geo-publisher": {
      "command": "npx",
      "args": ["-y", "geo-publisher-mcp@latest", "mcp"]
    }
  }
}

说明:

  • npx 版适合启动 MCP 进程
  • 但首次 setup 仍建议通过全局安装或 curl 稳定安装器执行

本地路径版

{
  "mcpServers": {
    "geo-publisher": {
      "command": "node",
      "args": [
        "/absolute/path/to/mcp-servers/geo-publisher-mcp/dist/index.js",
        "mcp"
      ]
    }
  }
}

环境变量

这些变量都是可选的;默认值兼容你当前正在使用的 GEO Chrome 扩展。

| Variable | Default | Purpose | |---|---|---| | GEO_PUBLISHER_WS_PORT | 9886 | 扩展桥 WebSocket 端口 | | GEO_PUBLISHER_DISCOVERY_PORT | 9885 | 本地 discovery/status 端口 | | GEO_NATIVE_HOST_NAME | com.lingxi.geo_publisher | Chrome native host name | | GEO_PUBLISHER_EXTENSION_ID | okkogkclmpkahabmdbiaeekhcpdmhokb | Chrome 扩展 ID | | GEO_PUBLISHER_EXTENSION_LABEL | GEO Publisher Chrome Extension | 面向用户的扩展名称 | | GEO_PUBLISHER_HOST_DESCRIPTION | GEO Publisher native messaging host | manifest 描述 | | GEO_NATIVE_HOST_APP_DIR | GEO Publisher | Windows native host 存放目录名 | | GEO_PUBLISHER_TAB_GROUP_TITLE | GEO Publisher | 自动发布标签组标题 | | GEO_PUBLISHER_READY_HINT | 请确保 Chrome 扩展与 native host 已连接,然后重试。 | 连接失败提示 |

稳定连接设计

当前实现不是“扩展直接连 localhost websocket”的裸连方案,而是:

  1. MCP 主进程启动本地 discovery + bridge
  2. Chrome 扩展通过 native host 获取 bridge 状态
  3. native host 再把扩展与 MCP 连接起来

这样做的好处是:

  • 连接链路更明确,Agent 和浏览器职责分离
  • 可以通过 manifest 安装保证浏览器端入口稳定
  • 更适合 WorkBuddy 这类内置 Node 的宿主
  • 后续更容易被其他 Agent 复用

补一句很关键的:

  • npx 很适合“启动 MCP”
  • 不适合充当 native host manifest 的长期目标路径

所以推荐拆成:

  • setup:稳定安装
  • mcp:日常运行

内容约束

  • 标题强制不超过 30 个中文字符
  • 正文保存为可发布的富文本 HTML 与纯文本
  • 不走 Markdown 原文直发
  • 登录、验证码、滑块、风控、账号异常会返回 action_required

平台范围

当前代码里已实装搜狐号、头条号、百家号发布流程。
微信公众号、腾讯号、网易号可以继续沿用同一 MCP 接口与目录结构扩展。

平台无关的 Agent 使用建议

推荐任何 Agent 都按下面顺序工作:

  1. geo_profile_check
  2. geo_profile_read
  3. geo_generation_context
  4. 生成并保存 5 维词
  5. 生成标题,限制 30 字内
  6. 生成正文,输出富文本友好的内容
  7. 生成封面并 geo_cover_save
  8. geo_publish_article
  9. 失败时读取 geo_get_job_status

macOS / Windows

  • macOS:已按 Chrome native host 路径实现
  • Windows:已按 LOCALAPPDATA/<dir>/NativeMessagingHosts 和注册表实现

本轮只做了代码级兼容,尚未在 Windows 真机上验证。