# 安装 io.github.chrischall/ofw-mcp

- 类型: MCP 工具
- 说明: 帮助用户在 Claude 中管理共育消息、日历、费用与育儿日志。
- 仓库: https://github.com/chrischall/ofw-mcp

## 方式一 · 一键代装（复制提示词让 AI 代劳）

### Claude Code
```
请帮我安装 askskill 上的 "io.github.chrischall/ofw-mcp" MCP 服务：
执行：claude mcp add 'io-github-chrischall-ofw-mcp' -- npx -y ofw-mcp
```

### Codex
```
请帮我安装 askskill 上的 "io.github.chrischall/ofw-mcp" MCP 服务：
在 ~/.codex/config.toml 中添加：
[mcp_servers.io-github-chrischall-ofw-mcp]
command = "npx"
args = ["-y","ofw-mcp"]
然后重启 Codex 生效
```

### Cursor
```
请帮我安装 askskill 上的 "io.github.chrischall/ofw-mcp" MCP 服务：
在 .cursor/mcp.json 的 "mcpServers" 中添加：
"io-github-chrischall-ofw-mcp": { "command": "npx", "args": ["-y","ofw-mcp"] }
然后在 Cursor 设置 > MCP 中启用
```

## 方式二 · 命令行安装（原生命令与配置）

### Claude Code
```bash
claude mcp add --env OFW_USERNAME=YOUR_VALUE --env OFW_PASSWORD=YOUR_VALUE --env OFW_WRITE_MODE=YOUR_VALUE --env OFW_CALENDAR_WRITES=YOUR_VALUE --env OFW_ALLOW_MARK_READ=YOUR_VALUE --env OFW_FETCH_UNREAD_BODIES=YOUR_VALUE --env OFW_SESSION_CACHE=YOUR_VALUE --env OFW_SESSION_FILE=YOUR_VALUE --env OFW_EXPENSE_ONLY=YOUR_VALUE --env OFW_EXPENSE_UPLOAD_ONLY=YOUR_VALUE --env OFW_INLINE_ATTACHMENTS=YOUR_VALUE --env OFW_ATTACHMENTS_DIR=YOUR_VALUE --env OFW_UPLOAD_DIR=YOUR_VALUE --env OFW_CACHE_IDENTITY=YOUR_VALUE --env OFW_CACHE_DIR=YOUR_VALUE --env OFW_DISABLE_FETCHPROXY=YOUR_VALUE --env OFW_AUTO_REFRESH=YOUR_VALUE --env OFW_FRESHNESS_TTL_SECONDS=YOUR_VALUE --env OFW_SYNC_MAX_REQUESTS=YOUR_VALUE --env OFW_REQUEST_TIMEOUT_MS=YOUR_VALUE --env OFW_DEBUG_LOG=YOUR_VALUE --env DISPLAY_TZ=YOUR_VALUE --env FETCHPROXY_WS_PORT=YOUR_VALUE --env FETCHPROXY_WS_HOST=YOUR_VALUE --env FETCHPROXY_IDENTITY_DIR=YOUR_VALUE --transport stdio io-github-chrischall-ofw-mcp -- npx -y ofw-mcp
```
需要环境变量：OFW_USERNAME, OFW_PASSWORD, OFW_WRITE_MODE, OFW_CALENDAR_WRITES, OFW_ALLOW_MARK_READ, OFW_FETCH_UNREAD_BODIES, OFW_SESSION_CACHE, OFW_SESSION_FILE, OFW_EXPENSE_ONLY, OFW_EXPENSE_UPLOAD_ONLY, OFW_INLINE_ATTACHMENTS, OFW_ATTACHMENTS_DIR, OFW_UPLOAD_DIR, OFW_CACHE_IDENTITY, OFW_CACHE_DIR, OFW_DISABLE_FETCHPROXY, OFW_AUTO_REFRESH, OFW_FRESHNESS_TTL_SECONDS, OFW_SYNC_MAX_REQUESTS, OFW_REQUEST_TIMEOUT_MS, OFW_DEBUG_LOG, DISPLAY_TZ, FETCHPROXY_WS_PORT, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIR

### Codex
```bash
codex mcp add --env OFW_USERNAME=YOUR_VALUE --env OFW_PASSWORD=YOUR_VALUE --env OFW_WRITE_MODE=YOUR_VALUE --env OFW_CALENDAR_WRITES=YOUR_VALUE --env OFW_ALLOW_MARK_READ=YOUR_VALUE --env OFW_FETCH_UNREAD_BODIES=YOUR_VALUE --env OFW_SESSION_CACHE=YOUR_VALUE --env OFW_SESSION_FILE=YOUR_VALUE --env OFW_EXPENSE_ONLY=YOUR_VALUE --env OFW_EXPENSE_UPLOAD_ONLY=YOUR_VALUE --env OFW_INLINE_ATTACHMENTS=YOUR_VALUE --env OFW_ATTACHMENTS_DIR=YOUR_VALUE --env OFW_UPLOAD_DIR=YOUR_VALUE --env OFW_CACHE_IDENTITY=YOUR_VALUE --env OFW_CACHE_DIR=YOUR_VALUE --env OFW_DISABLE_FETCHPROXY=YOUR_VALUE --env OFW_AUTO_REFRESH=YOUR_VALUE --env OFW_FRESHNESS_TTL_SECONDS=YOUR_VALUE --env OFW_SYNC_MAX_REQUESTS=YOUR_VALUE --env OFW_REQUEST_TIMEOUT_MS=YOUR_VALUE --env OFW_DEBUG_LOG=YOUR_VALUE --env DISPLAY_TZ=YOUR_VALUE --env FETCHPROXY_WS_PORT=YOUR_VALUE --env FETCHPROXY_WS_HOST=YOUR_VALUE --env FETCHPROXY_IDENTITY_DIR=YOUR_VALUE io-github-chrischall-ofw-mcp -- npx -y ofw-mcp
```
配置文件 ~/.codex/config.toml：
```toml
[mcp_servers.io-github-chrischall-ofw-mcp]
command = "npx"
args = ["-y","ofw-mcp"]

[mcp_servers.io-github-chrischall-ofw-mcp.env]
OFW_USERNAME = "YOUR_VALUE"
OFW_PASSWORD = "YOUR_VALUE"
OFW_WRITE_MODE = "YOUR_VALUE"
OFW_CALENDAR_WRITES = "YOUR_VALUE"
OFW_ALLOW_MARK_READ = "YOUR_VALUE"
OFW_FETCH_UNREAD_BODIES = "YOUR_VALUE"
OFW_SESSION_CACHE = "YOUR_VALUE"
OFW_SESSION_FILE = "YOUR_VALUE"
OFW_EXPENSE_ONLY = "YOUR_VALUE"
OFW_EXPENSE_UPLOAD_ONLY = "YOUR_VALUE"
OFW_INLINE_ATTACHMENTS = "YOUR_VALUE"
OFW_ATTACHMENTS_DIR = "YOUR_VALUE"
OFW_UPLOAD_DIR = "YOUR_VALUE"
OFW_CACHE_IDENTITY = "YOUR_VALUE"
OFW_CACHE_DIR = "YOUR_VALUE"
OFW_DISABLE_FETCHPROXY = "YOUR_VALUE"
OFW_AUTO_REFRESH = "YOUR_VALUE"
OFW_FRESHNESS_TTL_SECONDS = "YOUR_VALUE"
OFW_SYNC_MAX_REQUESTS = "YOUR_VALUE"
OFW_REQUEST_TIMEOUT_MS = "YOUR_VALUE"
OFW_DEBUG_LOG = "YOUR_VALUE"
DISPLAY_TZ = "YOUR_VALUE"
FETCHPROXY_WS_PORT = "YOUR_VALUE"
FETCHPROXY_WS_HOST = "YOUR_VALUE"
FETCHPROXY_IDENTITY_DIR = "YOUR_VALUE"
```
需要环境变量：OFW_USERNAME, OFW_PASSWORD, OFW_WRITE_MODE, OFW_CALENDAR_WRITES, OFW_ALLOW_MARK_READ, OFW_FETCH_UNREAD_BODIES, OFW_SESSION_CACHE, OFW_SESSION_FILE, OFW_EXPENSE_ONLY, OFW_EXPENSE_UPLOAD_ONLY, OFW_INLINE_ATTACHMENTS, OFW_ATTACHMENTS_DIR, OFW_UPLOAD_DIR, OFW_CACHE_IDENTITY, OFW_CACHE_DIR, OFW_DISABLE_FETCHPROXY, OFW_AUTO_REFRESH, OFW_FRESHNESS_TTL_SECONDS, OFW_SYNC_MAX_REQUESTS, OFW_REQUEST_TIMEOUT_MS, OFW_DEBUG_LOG, DISPLAY_TZ, FETCHPROXY_WS_PORT, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIR

### Cursor
配置文件 .cursor/mcp.json：
```json
{
  "mcpServers": {
    "io-github-chrischall-ofw-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "ofw-mcp"
      ],
      "env": {
        "OFW_USERNAME": "YOUR_VALUE",
        "OFW_PASSWORD": "YOUR_VALUE",
        "OFW_WRITE_MODE": "YOUR_VALUE",
        "OFW_CALENDAR_WRITES": "YOUR_VALUE",
        "OFW_ALLOW_MARK_READ": "YOUR_VALUE",
        "OFW_FETCH_UNREAD_BODIES": "YOUR_VALUE",
        "OFW_SESSION_CACHE": "YOUR_VALUE",
        "OFW_SESSION_FILE": "YOUR_VALUE",
        "OFW_EXPENSE_ONLY": "YOUR_VALUE",
        "OFW_EXPENSE_UPLOAD_ONLY": "YOUR_VALUE",
        "OFW_INLINE_ATTACHMENTS": "YOUR_VALUE",
        "OFW_ATTACHMENTS_DIR": "YOUR_VALUE",
        "OFW_UPLOAD_DIR": "YOUR_VALUE",
        "OFW_CACHE_IDENTITY": "YOUR_VALUE",
        "OFW_CACHE_DIR": "YOUR_VALUE",
        "OFW_DISABLE_FETCHPROXY": "YOUR_VALUE",
        "OFW_AUTO_REFRESH": "YOUR_VALUE",
        "OFW_FRESHNESS_TTL_SECONDS": "YOUR_VALUE",
        "OFW_SYNC_MAX_REQUESTS": "YOUR_VALUE",
        "OFW_REQUEST_TIMEOUT_MS": "YOUR_VALUE",
        "OFW_DEBUG_LOG": "YOUR_VALUE",
        "DISPLAY_TZ": "YOUR_VALUE",
        "FETCHPROXY_WS_PORT": "YOUR_VALUE",
        "FETCHPROXY_WS_HOST": "YOUR_VALUE",
        "FETCHPROXY_IDENTITY_DIR": "YOUR_VALUE"
      }
    }
  }
}
```
一键安装：cursor://anysphere.cursor-deeplink/mcp/install?name=io-github-chrischall-ofw-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIm9mdy1tY3AiXSwiZW52Ijp7Ik9GV19VU0VSTkFNRSI6IllPVVJfVkFMVUUiLCJPRldfUEFTU1dPUkQiOiJZT1VSX1ZBTFVFIiwiT0ZXX1dSSVRFX01PREUiOiJZT1VSX1ZBTFVFIiwiT0ZXX0NBTEVOREFSX1dSSVRFUyI6IllPVVJfVkFMVUUiLCJPRldfQUxMT1dfTUFSS19SRUFEIjoiWU9VUl9WQUxVRSIsIk9GV19GRVRDSF9VTlJFQURfQk9ESUVTIjoiWU9VUl9WQUxVRSIsIk9GV19TRVNTSU9OX0NBQ0hFIjoiWU9VUl9WQUxVRSIsIk9GV19TRVNTSU9OX0ZJTEUiOiJZT1VSX1ZBTFVFIiwiT0ZXX0VYUEVOU0VfT05MWSI6IllPVVJfVkFMVUUiLCJPRldfRVhQRU5TRV9VUExPQURfT05MWSI6IllPVVJfVkFMVUUiLCJPRldfSU5MSU5FX0FUVEFDSE1FTlRTIjoiWU9VUl9WQUxVRSIsIk9GV19BVFRBQ0hNRU5UU19ESVIiOiJZT1VSX1ZBTFVFIiwiT0ZXX1VQTE9BRF9ESVIiOiJZT1VSX1ZBTFVFIiwiT0ZXX0NBQ0hFX0lERU5USVRZIjoiWU9VUl9WQUxVRSIsIk9GV19DQUNIRV9ESVIiOiJZT1VSX1ZBTFVFIiwiT0ZXX0RJU0FCTEVfRkVUQ0hQUk9YWSI6IllPVVJfVkFMVUUiLCJPRldfQVVUT19SRUZSRVNIIjoiWU9VUl9WQUxVRSIsIk9GV19GUkVTSE5FU1NfVFRMX1NFQ09ORFMiOiJZT1VSX1ZBTFVFIiwiT0ZXX1NZTkNfTUFYX1JFUVVFU1RTIjoiWU9VUl9WQUxVRSIsIk9GV19SRVFVRVNUX1RJTUVPVVRfTVMiOiJZT1VSX1ZBTFVFIiwiT0ZXX0RFQlVHX0xPRyI6IllPVVJfVkFMVUUiLCJESVNQTEFZX1RaIjoiWU9VUl9WQUxVRSIsIkZFVENIUFJPWFlfV1NfUE9SVCI6IllPVVJfVkFMVUUiLCJGRVRDSFBST1hZX1dTX0hPU1QiOiJZT1VSX1ZBTFVFIiwiRkVUQ0hQUk9YWV9JREVOVElUWV9ESVIiOiJZT1VSX1ZBTFVFIn19
需要环境变量：OFW_USERNAME, OFW_PASSWORD, OFW_WRITE_MODE, OFW_CALENDAR_WRITES, OFW_ALLOW_MARK_READ, OFW_FETCH_UNREAD_BODIES, OFW_SESSION_CACHE, OFW_SESSION_FILE, OFW_EXPENSE_ONLY, OFW_EXPENSE_UPLOAD_ONLY, OFW_INLINE_ATTACHMENTS, OFW_ATTACHMENTS_DIR, OFW_UPLOAD_DIR, OFW_CACHE_IDENTITY, OFW_CACHE_DIR, OFW_DISABLE_FETCHPROXY, OFW_AUTO_REFRESH, OFW_FRESHNESS_TTL_SECONDS, OFW_SYNC_MAX_REQUESTS, OFW_REQUEST_TIMEOUT_MS, OFW_DEBUG_LOG, DISPLAY_TZ, FETCHPROXY_WS_PORT, FETCHPROXY_WS_HOST, FETCHPROXY_IDENTITY_DIR
