TinyAssets
Enables chatbots to interact with a global goals engine, allowing them to declare goals, manage branches, and evaluate outcomes through MCP tools.
README
TinyAssets
A global goals engine. Fully self-hostable, open-source (MIT platform / CC0 catalog), runs on your own infrastructure. Humanity declares shared Goals — research breakthroughs, great novels, successful prosecutions, cures, open datasets, whatever people actually want done — and a legion of diverse AI-augmented workflows pursues each Goal in parallel. Branches evolve, cross-pollinate, and get ranked by how far their outputs advance up each Goal's real-world outcome-gate ladder. The system is built for whatever people collectively care about next.
This repo contains substantial architecture and implementation work for TinyAssets. The starter surfaces below help you navigate, extend, and connect — including via Obsidian if you use it.
Built by Jonathan Farnsworth (jonathan.m.farnsworth@gmail.com, GitHub @Jonnyton) — sole human author; the only co-authors are the project's own AI agents.
Proof of life
<!-- proof:start --> The engine runs on its own infrastructure. The volatile facts below are linked to live state rather than copied here, so this section can't go stale:
- Canary-gated deploys, live receipts. The current deploy SHA, canary status, queue throughput, and the provider list are returned live by the
get_statusMCP tool and rendered at tinyassets.io/fine-print — read the numbers there rather than trusting a copy here. - 7,925 tests across 418 files, all offline. Providers are mocked (
_FORCE_MOCK=True); no API keys:pip install -e .[dev] && pytest -q.
Honest caveat (the site says this too): the user-facing outcome loop hasn't shipped a real external artifact yet — draft mode is on, OAuth is unwired, run_count is 0. What's proven today is the engine and the architecture; the first shipped real-world outcome is the next milestone.
<sub>Repo facts refreshed 2026-06-25 by scripts/gen_discoverability.py (bounded — rewrites only between the markers).</sub>
<!-- proof:end -->
The flagship: the Loop
A user's chatbot hits a capability gap, files it as a patch request, and the system routes the work through branch, evidence-gate, and deploy surfaces so the next summon starts smarter. The retired CI writer loop has been removed; the active direction is the general Loop substrate described in PLAN.md and the branch/gate implementation under tinyassets/.
See the code (one click from here)
The entry path should reach functions, not just docs. Representative core:
- The MCP surface every chatbot connects to —
tinyassets/universe_server.py(theuniverse/extensions/goals/gates/wiki/get_statustools). - The daemon run loop —
fantasy_daemon/__main__.py, the current default runtime (LangGraph universe graph, SQLite checkpointer, pause/resume). The branch-execution substrate is goal-agnostic — branch specs compile to graphs viatinyassets/graph_compiler.py— though this domain is still the hardcoded default; extracting the runtime into each universe's soul-declared loop is tracked in the de-fantasy audit. - Branch spec → executable graph —
tinyassets/graph_compiler.py(compiles a declarative branch into a runnableStateGraph; approval-gated node execution). - The evaluation/gate primitive —
tinyassets/node_eval.py.
What's strongest here
A coherent, dependency-verified stack (LangGraph / FastMCP / LanceDB / igraph / clingo) wired into a single self-patching engine; design philosophy with teeth (minimal primitives, fork-over-build, commons-first privacy); operational seriousness (canary-gated deploys, deploy receipts tied to source SHA, ~7,800 offline tests); and a system honest enough to file bugs against itself and state in public what it hasn't shipped yet.
Quick Start (for contributors)
Clone-to-green-tests in ~5 minutes on a clean machine:
git clone https://github.com/Jonnyton/TinyAssets.git
cd TinyAssets
python -m venv .venv && source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e .[dev]
pytest -q # full suite — no API keys needed (tests mock providers)
ruff check # lints clean on a fresh clone
All tests run offline with _FORCE_MOCK=True set in tests/conftest.py. No ANTHROPIC_API_KEY or similar required for CI or local dev. If any test fails on a clean clone, file an issue — that's a TEST-1 regression.
Cross-platform notes:
- Tested on Windows, macOS, Linux. Paths use
pathlib.Path— backslashes don't leak into tests. - Python 3.11+ required (see
pyproject.toml). - The tray (
tinyassets_tray.py) is Windows-first; macOS/Linux support is work-in-progress. Platform code is cross-platform.
Start Here
- Read STATUS.md for live state.
- Read PLAN.md for architecture and design intent.
- Read AGENTS.md for process rules.
- Read docs/project-lineage.md for how TinyAssets grew out of the earlier Hex, Echoes, Fantasy Writer, and Fantasy Author work.
- Use
python scripts/docview.pyfor large Markdown, text, and JSON files before any raw whole-file read. - Capture loose user ideas in ideas/INBOX.md or with
python scripts/capture_idea.py "Idea summary".
Core Hubs
- AGENTS.md: process truth.
- PLAN.md: design truth.
- STATUS.md: live-state truth.
- docs/portfolio/README.md: public project graph, lineage, and auto-maintenance standard.
- ideas/INDEX.md: idea capture, triage, and shipped ledger.
- knowledge/INDEX.md: human-readable knowledge map.
Notes
- The new
knowledge/docs complementknowledge.db; they do not replace it. - The new
docs/exec-plans/surface complements existing planning docs likeBUILD_PREP.mdandRESTRUCTURE_PLAN.md; it does not invalidate them. - The user may steer multiple live sessions across different providers at once. Durable coordination belongs in files, not only in chat.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。