Sancho Fetch

io.github.panth-net由 GitHub 账号 panth-net 发布v0.3.1更新于 Oct 24, 2026

Local-first public-data MCP server that writes inspectable records and working files.

概览

AI 生成的概览

本地优先的 MCP 服务器,让助手从 120 多个公共数据源抓取数据,并保存为电脑上可查看的文件。

可以做什么
用自然语言让助手从 Census、World Bank、FDA、USGS、FEMA 等众多政府和开放数据源抓取公共数据,许多源无需 API 密钥。每次抓取都会在工作文件夹的下载目录生成可打开的工作文件,并在工作区缓存中保留一份忠实存档,重复请求可复用缓存。表格以 Excel 文件保存且编码保持完整,地图保留为 GeoJSON 或 KML,文件名带日期前缀。可把自有数据源添加为自定义模块,更新时不会被覆盖,并可保存可重复使用的工作流。通过助手检查安装状态,以及更新或卸载该工具。
适用场景
适合让助手拉取公共数据集(例如县级健康或人口数据),并交付保存在本地的电子表格或地图文件。最适合在桌面 AI 应用的代码模式中工作、偏好本地文件而非云端存储的用户。
运行要求
作为本地进程运行,通过 uv 从 PyPI 安装,uv 还会提供兼容的 Python;桌面应用也可使用 .mcpb 包。首次安装需要联网。API 密钥可选,仅特定数据源需要,放在 sancho-workspace 文件夹的本地 .env 文件中。仅限桌面 AI 应用;普通聊天无法访问本地安装。
安装前请注意
抓取请求从你的电脑直接发往所选公共数据提供方,本地 .env 中的提供方密钥也只发送给该提供方。README 提醒不要把密钥粘贴到聊天中,并说明工具只读取密钥名称而非值。抓取会向你的文件夹写入文件和缓存副本,更新会迁移工作区并提供备份与回滚。卸载会保留工作区和下载文件,除非你主动删除数据。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Sancho Fetch,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[Sancho Fetch]

Sancho Fetch

Ask your AI for public data. Get real files on your computer.

The fastest way in: tell your AI

Open your AI's code mode -- Claude desktop app -> Code tab, or ChatGPT desktop app -> Codex -- pick any folder, and paste this:

Install Sancho Fetch from PyPI (uv tool install sancho-fetch) and set it up on this computer. If uv isn't installed, tell me, then install it first. When you're done, tell me whether the install succeeded. Then explain in plain English, no jargon: what the .env file is, how to use it, where it is on my computer, and open it for me so I can paste API keys straight into it. Give me a few examples of data sources that need a free API key and a few examples of sources that don't need a key. Tell me where my downloaded data gets saved, and how I update Sancho later. Then run a short example data fetch using the World Bank so I can see where the data was saved. Finally tell me a few natural language examples I can tell you to fetch data so I can get a feel for how to use sancho-fetch and remind me that 1) I can use it anywhere as long as I'm in a LLM Desktop app's Code tab (e.g. ChatGPT Desktop or Claude Desktop), and 2) that I can ask AI to add new data sources by itself since sancho-fetch is built in a way that it's easily extensible (aka you can add more to it and the AI will do the heavy lifting and connect the new data source).

That's the whole install.

You do not need to download or clone this repository. The two commands the AI runs are:

bash
uv tool install sancho-fetchsancho setup

Install once, use everywhere. Sancho installs once on your computer and connects to the AI apps it finds (Claude Desktop, ChatGPT/Codex, VS Code, Cursor). At the end of setup it tells you plainly which apps are ready and which just need a restart or a click.

To use Sancho, just ask for data and mention "sancho" in plain English, or type /sancho in Claude Code to feel cool.

What it does

  • In your AI's Code mode you ask: "get county-level asthma rates for Ohio." You can be working in any folder -- Sancho always knows where its home folder is.
  • Your AI uses Sancho to pull from 120+ public sources (Census, World Bank, FDA, USGS, FEMA, ...) and hands you a file that opens in Excel.
  • Everything is saved on your computer.

Before you begin

The normal prerequisite is uv. uv installs Sancho in isolation and can obtain a compatible Python without replacing your computer's system Python. First setup needs an internet connection. API keys are not required for installation or the World Bank example; provider-specific keys can be added later.

Get started (about 2 minutes)

Install straight from PyPI.

1. Open your AI's code mode.

  • Claude: Claude desktop app -> Code tab -> new session -> pick any folder where you want your data to live.
  • ChatGPT: ChatGPT desktop app -> Codex -> open that folder.

2. Paste the install request from the top of this page.

The AI installs everything, shows you your first data file, and walks you through where everything lives.

3. Restart the apps Sancho asks you to restart. Setup ends with a short report; if an app needs a restart or one extra click, it says so in plain words.

NOTE: Before using, make sure to add API keys for any sources you want to use.

Many sources need no key (World Bank, USGS, FEMA, openFDA, ...). Your AI will tell you when an API key is needed. You can either:

  1. Open the .env file in the sancho-workspace folder and paste your key there; or
  2. Ask your AI to open the keys file for you (sancho env open). Paste the key into the opened file, don't paste your key into the chat.

Setup normally creates .env from .env.example. If .env is missing, sancho env open creates and opens it. To do this manually, copy .env.example in the same folder, keep the original template, and name the copy .env.

Both files may be hidden:

  • macOS Finder: press Cmd+Shift+. (Command + Shift + period).
  • Windows File Explorer: select View -> Show -> Hidden items.

@Developers, fyi Sancho is designed to read key names only, not values.

Prefer the GitHub repository, or installing without an AI app?

For contributing, custom module development, or offline installs, work from the repository folder instead. Install GitHub Desktop (free), then on this repository's page click Code -> Open with GitHub Desktop -> Clone.

Note: Avoid placing the Github folder in a folder that is within iCloud/OneDrive (e.g. Documents folder in iCloud). This causes issues with file syncing and speed.

Then double-click installers/Install Sancho.command (macOS) or installers/Install Sancho.bat (Windows); on Linux run bash installers/setup.sh.

  • macOS blocks the first open (the installer is not notarized): System Settings -> Privacy & Security -> scroll to the blocked-file message -> Open Anyway -> open it again.
  • Windows: at "Windows protected your PC", click More info -> Run anyway.

Everyday use

  • In Claude Code / Codex, just ask for data. In Claude Code you can also type /sancho and /sancho-update directly.

After installation, use a Code session. Sancho is installed computer-wide, so you do not need to add the sancho-fetch folder in future sessions. In Claude Desktop, select the Code tab. In Codex, start a Code chat. Regular chats cannot access your local Sancho installation.

  • There are system instructions to make Sancho return non-technical details of each data pull, so if you want these technical details returned, tell your AI:

"turn on Sancho developer mode."

  • Something off? Ask your AI to run sancho ready -- it checks your setup and reports what's wrong, without changing your setup. To actually fix problems, ask your AI to run sancho doctor --fix.

Where your files land

text
your folder/  sancho-downloads/    # <-- files you have downloaded via chatting with AI  sancho-workspace/    source/            # managed data modules    custom/            # your own modules -- never overwritten when updating Sancho    playbooks/         # your repeatable workflows    fetched-data/      # faithful archive of every fetch (don't edit - this is a cache so we don't have to use API calls unnecessarily)    analysis-data/     # your derived work    outputs/           # reports, dashboards, exports    logs/              # what Sancho did, when, and why    update-backups/    # snapshots before every update    .env               # your API keys (never logged, never printed)

Every fetch writes a working file you open -- into sancho-downloads/ in the folder that you're working in -- and a faithful archive/cache copy in sancho-workspace/fetched-data/ so repeat requests reuse cached data.

Tables arrive as Excel .xlsx with codes like 01003 kept intact; maps stay GeoJSON/KML; nothing is converted in a way that loses information. Filenames start with the date: 2026-06-08_194211_alabama-population.xlsx.

Add your own data sources

Tell your AI:

Create a Sancho module for [that API / that agency's data / this file I receive every month].

It's built under custom/, works like the built-in sources, and Sancho updates never overwrite the folder.

A good example of this is, Sancho fetches from Washington DC's and New York City's open data portals, which use a common API/open data portal format. The AI can be asked to create a module for other cities and will intelligently check on its own whether the new city uses the same format or not, and if it does, will reuse the same module code format (and otherwise, create a new one). You'd be surprised at how many cities use the same format so give it a try if you're working in a geographic regional level that is not already covered by Sancho's built-in modules.

Updates

Just ask your AI:

Update Sancho.

The AI upgrades the sancho command from PyPI (uv tool upgrade sancho-fetch) and then migrates your workspace safely, with a backup and a rollback command.

Working from the GitHub repository instead? In GitHub Desktop: Fetch origin -> Pull origin, then tell your AI "update Sancho."

When updating, your own files (custom/, playbooks/, fetched-data/, .env, ...) are never touched.

If you want Sancho to stop mentioning new versions in chats (which it will do once every 2 weeks), simply set SANCHO_UPDATE_NUDGE=false in .env to turn it off.

Uninstalling

Same as installing: paste one request to your AI in a Code session:

Uninstall Sancho Fetch from this computer: run sancho uninstall, then uv tool uninstall sancho-fetch. Keep my sancho-workspace and sancho-downloads folders -- that is my data and my API keys. Tell me when it's done and what was removed.

(Those two commands are the whole uninstall if you'd rather run them yourself.)

Sancho only removes what it installed: its skills and its entries in your AI apps. Anything you edited or created yourself is left alone and reported.

Your sancho-workspace/ folder (fetched data, custom modules, .env keys) and your sancho-downloads/ files are always kept. Deleting data is a separate, deliberate step that asks for confirmation first -- ask your AI, or run sancho uninstall --help to see how.

Privacy Policy

Sancho runs on your computer and keeps your data there. Fetches go directly from your machine to the public data provider you chose; API keys are read from your local .env and sent only to that provider. Sancho has no telemetry. Full details: docs/PRIVACY.md.

More documentation

Hosting your own version of Sancho

While Sancho is designed to run on your own computer, you can also host it on a server so that users can access it via web rather than needing Claude/Codex desktop apps.

The idea with hosting was primarily to support organizations hosting hands-on workshops for users who may not have the technical skills to install Sancho on their own computers.

For AI assistants

If you are an AI assistant, do not operate from this quick start. Read README_ALL_INSTRUCTIONS.md, then follow CLAUDE.md or AGENTS.md.

License

Code is licensed under MPL 2.0; documentation under CC BY 4.0 unless noted. The Sancho name, logo, and brand assets are protected separately -- see LICENSE, NOTICE, LICENSE-DOCS.md, and INTENDED_USE.md.

来源:README.md,提交 6fe3db5

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

2
  1. v0.3.1最新Sep 18, 2026
  2. v0.3.0Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分