原型 · 预览版:收录官方注册中心里的全部服务器,每 30 分钟同步一次。评价和账户功能将在后续阶段推出。
PopNx MCP为使用 AI 的人准备的 MCP 服务器 · 用大白话讲清楚

Printmcp

作者:aernouddekker版本 0.1.2i★ –i在你的电脑上运行
注册名称io.github.aernouddekker/printmcp

安装

概览

作者提供的说明(英文原文)

MCP server for macOS printing — wraps CUPS (lp/lpstat/lpoptions) for printer discovery and printing

PopNx MCP 的三大支柱

这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。

它能帮你做什么

我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。

  • 连接方式: 在你的电脑上运行
  • 传输方式: stdio
  • 分类: 其他

安装

选择你使用的 AI 应用,然后复制设置。

安装之前

  • 基础检查:1 项中通过 1 项
  • 在你的电脑上运行,拥有你的用户账户的权限(文件、网络、应用)。
  • 注册中心没有列出需要填写的密钥。

你需要

  • npm已安装 Node.js(用于 npx 命令)

你用的是哪个应用?

在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。

打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json

{
  "mcpServers": {
    "printmcp": {
      "command": "npx",
      "args": [
        "-y",
        "@aernoud/printmcp"
      ]
    }
  }
}

在终端中运行这条命令

claude mcp add printmcp -- npx -y @aernoud/printmcp

在 Cursor 中打开

或者自己复制设置

粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json

{
  "mcpServers": {
    "printmcp": {
      "command": "npx",
      "args": [
        "-y",
        "@aernoud/printmcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

在 VS Code 中打开

或者自己复制设置

粘贴到项目中的 .vscode/mcp.json

{
  "servers": {
    "printmcp": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@aernoud/printmcp"
      ]
    }
  }
}

浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。

这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。

你的选择通过 Cookie 保存在这台设备上,无需账户。

这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。

它能做什么

它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。

基础检查i

我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日

  • ✓ 通过

    作者与仓库一致

    注册名称已通过 GitHub 账户 aernouddekker 验证,该账户拥有此仓库

  • … 尚未检查

    仍在维护

    我们还没有从 GitHub 读取这个仓库

  • … 尚未检查

    有许可证

    我们还没有从 GitHub 读取这个仓库

  • – 不适用

    端点有响应

    它在你的电脑上运行,没有互联网端点

  • – 不适用

    使用 OAuth 登录

    在你的电脑上运行,改用本地设置

  • … 尚未检查

    工具描述中没有隐藏指令

    它在你的电脑上运行;我们只能读取互联网端点的工具列表

与“其他”中的其他服务器比较i

  • 星标数多于此分类中其他 18353 个服务器的 0%
  • 发布到注册中心的时间比此分类中其他 18353 个服务器的 7% 更新
  • 基础检查结果等于或优于此分类中其他 18353 个服务器的 100%

与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。

常见问题

Printmcp 安全吗?

它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。

它需要哪些密钥或代码?

注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。

它在我的电脑上运行还是在云端?

它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。

它还在维护吗?

GitHub 仓库最后更新于–,最新版本(0.1.2)于6个月前进入注册中心。

哪些应用可以使用它?

支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js。

有什么可以替代它?

同一分类中有:Spec Driven Development, Remote Desktop Commander, Date Math

替代选择

同一分类中其他作者的服务器,按星标数排序。

如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i

Spec Driven Development

作者:formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

在你的电脑上运行★ 440MIT14个月前更新
安装

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

在云端运行★ 211前天更新
安装

Date Math

作者:JowenDelaPena

Date/time math for agents: business days, holidays, time zones, cron, RRULE. 25 free calls/day.

电脑或云端今天更新
安装

作者的 README

打开 README

按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。

macos-mcp

MCP servers for macOS native apps — gives Claude Code, Claude Desktop, and any MCP client native access to Mail, Numbers, Contacts, Calendar, Reminders, and FaceTime / phone calls.

No API keys, no OAuth, no cloud services. Talks directly to macOS apps via AppleScript and URL schemes (tel://, facetime://). Runs locally on your Mac.

CUPS printing (printmcp) used to live here; it moved to office-mcp since it's a shell wrapper, not an AppleScript bridge.

Servers

Mail (mailappmcp) — 21 tools

Works with every email account configured in Mail.app — iCloud, Gmail, Outlook, Fastmail, you name it.

ToolDescription
list-mailboxesList all mailboxes across all accounts with unread counts
list-accountsList configured mail accounts with email addresses and type
list-signaturesList available email signatures
search-messagesSearch messages by subject or sender (empty query lists all)
read-messageRead the full content of a specific email
get-message-sourceGet raw RFC822 source of a message
list-attachmentsList attachments on a message with name, MIME type, size
save-attachmentSave email attachments to disk
compose-messageCreate a draft in Mail.app (does not send) — supports plain or HTML body via htmlBody, plus attachments
send-messageSend an email immediately (supports from, attachments, plain or HTML body via htmlBody)
reply-to-messageReply or reply-all to a message — threads correctly and supports a branded htmlBody or attachments
forward-messageForward a message to new recipients
redirect-messageRedirect a message (preserves original sender)
move-messagesMove messages between mailboxes
delete-messagesDelete messages by Message-ID
mark-as-readMark messages as read
mark-as-junkMark/unmark messages as junk
flag-messageFlag/unflag messages with color support
set-message-colorSet background color of messages in the message list
check-for-new-mailTrigger a mail fetch for one or all accounts
extract-email-addressParse "John Doe \ " into name and address
Numbers (numbersmcp) — 29 tools

Works with any open Numbers spreadsheet.

ToolDescription
list-spreadsheetsList all open Numbers documents
create-documentCreate a new Numbers document
list-sheetsList sheets and tables in a document
get-active-sheetGet the currently active sheet
read-rangeRead cell values from a range (e.g. "A1:C10")
read-tableRead an entire table as structured data
write-cellWrite a value to a specific cell
write-rangeWrite multiple values to a range
clear-rangeClear contents and formatting of a cell range
get-formulaGet the formula from a cell
set-formulaSet a formula on a cell
add-rowAppend a row to a table
delete-rowDelete a row from a table
add-columnAdd a column to a table
delete-columnDelete a column from a table
resize-row-columnSet row height or column width
add-sheetAdd a new sheet to a document
delete-sheetDelete a sheet from a document
rename-sheetRename a sheet
add-tableAdd a new table to a sheet
delete-tableDelete a table from a sheet
rename-tableRename a table
sort-tableSort a table by a column
transpose-tableSwap rows and columns of a table
merge-cellsMerge a range of cells
unmerge-cellsUnmerge previously merged cells
set-cell-formatSet cell format (number, currency, date, percentage, etc.)
set-cell-styleSet font, color, background, bold, italic, alignment
export-documentExport to PDF, Excel, or CSV
Contacts (@aernoud/contactsmcp) — 15 tools

Works with the system address book — all accounts synced to Contacts.app.

ToolDescription
search-contactsSearch contacts by name, email, or phone
search-by-modification-dateFind contacts modified after a given date
read-contactGet full contact details
get-my-cardGet the user's own contact card
get-vcardExport a contact as vCard 3.0 text
create-contactCreate a new contact
update-contactUpdate contact fields
delete-contactDelete a contact
list-groupsList all contact groups
create-groupCreate a new contact group
rename-groupRename a contact group
delete-groupDelete a contact group
add-to-groupAdd a contact to a group
remove-from-groupRemove a contact from a group
list-group-membersList all contacts in a group
Calendar (calendarmcp) — 25 tools

Works with every calendar configured in Calendar.app — iCloud, Google, Exchange, local, you name it.

ToolDescription
list-calendarsList all calendars with name, writable flag, description
get-calendarGet properties of a single calendar by name (incl. event count)
create-calendarCreate a new calendar
update-calendarRename a calendar or set its description
delete-calendarNot supported by Calendar.app — returns a descriptive error; calendars must be removed from the Calendar.app UI
switch-viewSwitch Calendar.app to day/week/month view, optionally jumping to a date
reload-calendarsForce Calendar.app to refresh from accounts
list-eventsList events in a calendar between two ISO dates
search-eventsSearch events by summary substring within a date window (defaults: −30d to +365d). Scope to a single calendar for speed
get-eventGet full event details by uid
create-eventCreate an event with summary, start, end, optional location/description/url
update-eventPatch any event field by uid
delete-eventDelete an event by uid
move-eventMove an event to another calendar (delete + recreate; new uid)
duplicate-eventDuplicate an event into the same or another calendar
today-eventsList today's events in one calendar or across all
upcoming-eventsList events in the next N days
list-attendeesList attendees on an event
add-attendeeAdd an attendee with email and optional display name
remove-attendeeRemove an attendee by email
list-alarmsList display, mail, and sound alarms on an event
add-display-alarmAdd a display alarm N minutes before event start
add-sound-alarmAdd a sound alarm N minutes before event start
add-mail-alarmAdd a mail alarm N minutes before event start
remove-alarmRemove an alarm by 1-based index from list-alarms output
Reminders (@aernoud/remindersmcp) — 22 tools

Works with every reminder list configured in Reminders.app — iCloud, Exchange, local, you name it.

ToolDescription
list-accountsList all accounts in Reminders.app with name and id
list-listsList every reminder list, optionally scoped to one account
get-listGet properties of a single list (id, account, color, emblem, open + completed counts)
create-listCreate a new list, optionally in a specific account
update-listRename a list
delete-listDelete a list (Reminders.app supports this directly via AppleScript, unlike Calendar.app)
show-listBring a list to the front in Reminders.app
list-remindersList reminders in a named list (excludes completed by default)
search-remindersSearch reminders by name substring; scope to one list for speed
get-reminderGet full reminder details by id
today-remindersList reminders due today, scoped to one list or all
upcoming-remindersList reminders due in the next N days
overdue-remindersList reminders past their due date and not yet completed
create-reminderCreate a reminder with body, due date or all-day due date, remind-me date, priority, flagged
update-reminderPatch any reminder field by id
delete-reminderDelete a reminder by id
complete-reminderMark a reminder as completed (Reminders auto-stamps completion date)
uncomplete-reminderMark a previously completed reminder as not completed
move-reminderMove a reminder to a different list (uses the native move verb — id is preserved)
flag-reminderSet or clear the flagged state
set-prioritySet priority to none / high / medium / low (mapped to Reminders' 0/1/5/9 enum)
show-reminderBring Reminders.app to the front and focus a specific reminder
FaceTime (facetimemcp) — 3 tools

Initiates calls by handing URL schemes to open. Phone calls require an iPhone paired via Continuity (so macOS can route them through your phone).

ToolDescription
call-phonePlace a cellular call via paired iPhone (tel://)
call-facetime-audioStart a FaceTime audio call to a phone number or Apple ID email
call-facetime-videoStart a FaceTime video call to a phone number or Apple ID email

Phone numbers are normalized + validated as E.164 (+15551234567); spaces, dashes, and parens are tolerated. macOS may show a confirmation prompt before dialing — there is no fully silent dial path, by design.

Requirements

  • macOS (uses AppleScript — won't work on Linux/Windows)
  • Node.js 18+

Install

From npm
npm install -g mailappmcp            # Mail server

npm install -g numbersmcp # Numbers server npm install -g @aernoud/contactsmcp # Contacts server npm install -g @aernoud/calendarmcp # Calendar server npm install -g @aernoud/remindersmcp # Reminders server npm install -g @aernoud/facetimemcp # FaceTime / phone calls

From source
git clone https://github.com/aernouddekker/macos-mcp.git

cd macos-mcp npm install npm run build

Configure

Claude Code

Add to ~/.claude/settings.json or your project's .mcp.json:

{

"mcpServers": { "mailappmcp": { "command": "npx", "args": ["-y", "mailappmcp"] }, "numbersmcp": { "command": "npx", "args": ["-y", "numbersmcp"] }, "contactsmcp": { "command": "npx", "args": ["-y", "@aernoud/contactsmcp"] }, "calendarmcp": { "command": "npx", "args": ["-y", "@aernoud/calendarmcp"] }, "remindersmcp": { "command": "npx", "args": ["-y", "@aernoud/remindersmcp"] }, "facetimemcp": { "command": "npx", "args": ["-y", "@aernoud/facetimemcp"] } } }

Claude Desktop / Cowork

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{

"mcpServers": { "mailappmcp": { "command": "npx", "args": ["-y", "mailappmcp"] }, "numbersmcp": { "command": "npx", "args": ["-y", "numbersmcp"] }, "contactsmcp": { "command": "npx", "args": ["-y", "@aernoud/contactsmcp"] }, "calendarmcp": { "command": "npx", "args": ["-y", "@aernoud/calendarmcp"] }, "remindersmcp": { "command": "npx", "args": ["-y", "@aernoud/remindersmcp"] }, "facetimemcp": { "command": "npx", "args": ["-y", "@aernoud/facetimemcp"] } } }

How it works

Each server runs locally over stdio. The Mail, Numbers, and Contacts servers build AppleScript strings, execute them via osascript, and parse the structured output back into JSON. The Print server shells out to CUPS (lp, lpstat, lpoptions, cancel); the FaceTime server hands tel:// / facetime:// URLs to open. A shared package (@mailappmcp/shared) provides the AppleScript runner, the generic command runner (runCommand), string escaping, and delimiter-based parsing.

App lifecycle — leave as found

Mail, Calendar, Contacts, and Reminders nee

只显示了开头部分;其余内容请在仓库中阅读

问 PopNx