公开 · 只读 · 免费
给机器读的迷你世界
每一幅图版,都可以被别的程序找到、引用和展示:ChatGPT、Claude 这样的 AI 聊天,搜索引擎,老师的课件。下面这些接口全部公开,不需要账号,也不需要密钥。
-
MCP 服务器
https://world.lapla.si/mcp让 AI 聊天搜索图版,把可以转动、可以做实验的模型放进对话。
search_modelsshow_modellist_chapters
01MCP 服务器
地址是 https://world.lapla.si/mcp。它用 Streamable HTTP(只收 POST,没有会话),不需要登录,也没有密钥;三件工具都只读。协议版本支持 2026-07-28(server/discover),也支持 2025-11-25、2025-06-18 和 2025-03-26(initialize 握手)。
| 工具 | 参数 | 做什么 |
|---|---|---|
search_models | query,lang,limit | 按题目找图版,中文英文都可以,返回最相关的几幅和它们的 id。 |
show_model | slug,chapter,lang,lab,params | 把一个活的三维模型放进对话,可以指定从哪一章开始、是否打开实验室、实验设置。看不了界面的客户端会收到文字摘要和图版链接。 |
list_chapters | slug,lang | 一幅图版的章节,以及它接受的实验设置(id、范围、选项)。 |
模型以 MCP Apps 界面(ui://world-lapla-si/model-v1.html)显示,ChatGPT、Claude(网页、桌面和手机)、VS Code 等支持这种界面的客户端都能直接打开。从浏览器里直接调用时,只接受本站、ChatGPT、Claude 和本机(localhost)的来源;服务器端的调用没有这个限制。
接到你的 AI 里
ChatGPT
- 在 chatgpt.com 的设置里打开开发者模式(Developer mode);Business 和 Enterprise 方案要先由管理员打开。
- 添加自定义 MCP 服务器(Add custom MCP server),名称随意,例如「迷你世界」。
- URL 填
https://world.lapla.si/mcp,认证选「无」(No authentication)。
Claude
- 在 claude.ai 或 Claude 桌面版,打开「Customize › Connectors」,点「Add custom connector」。
- URL 填
https://world.lapla.si/mcp,Authentication 选「No sign-in」,点「Add」。 - 免费方案可以加一个自定义连接器;Team 和 Enterprise 由组织的 Owner 添加。
Claude Code
- 在终端里运行:
claude mcp add --transport http world-lapla-si https://world.lapla.si/mcp
Cursor
- 写进
~/.cursor/mcp.json,或项目里的.cursor/mcp.json:
{
"mcpServers": {
"world-lapla-si": {
"url": "https://world.lapla.si/mcp"
}
}
}
VS Code
- 写进项目里的
.vscode/mcp.json,或用命令「MCP: Add Server」选 HTTP:
{
"servers": {
"world-lapla-si": {
"type": "http",
"url": "https://world.lapla.si/mcp"
}
}
}
Gemini CLI
- 写进
~/.gemini/settings.json。Gemini 不显示 MCP 界面,模型会以文字和链接出现:
{
"mcpServers": {
"world-lapla-si": {
"httpUrl": "https://world.lapla.si/mcp"
}
}
}
Inspector
- 在浏览器里试:运行下面的命令,Transport Type 选 Streamable HTTP,URL 填上面的地址,点 Connect。
npx @modelcontextprotocol/inspector
只在终端里看:
npx @modelcontextprotocol/inspector --cli https://world.lapla.si/mcp \
--transport http --method tools/list
curl
- 不需要任何客户端,也能直接问:
curl -s https://world.lapla.si/mcp \
-H 'Content-Type: application/json' \
-H 'Accept: application/json, text/event-stream' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"search_models","arguments":{"query":"潮汐","lang":"zh"}}}'
02目录:models.json
/models.json 列出全部 105 幅图版,每一项都有中文和英文。新图版上线、文字改动时,它随网站一起更新。
| 字段 | 内容 |
|---|---|
slug | 图版的 id,小写英文,也用在网址里。 |
plate | 图版编号,例如 10、M3、F04。 |
title kicker summary description | 标题、题目、一句话摘要和导语,各有 zh 和 en。 |
hall layer field | 所在的展厅、层和学科。 |
url embed markdown | 图版页、嵌入页和 Markdown 版的地址,各有 zh 和 en。 |
card | 1600 × 1000 的卡片图,还没有时为 null。 |
chapters | 章节:id、序号 n(0 是封面)和标题。 |
params | 实验设置:id、种类(slider 滑块、toggle 开关、choice 选项)、标签、范围、步长、默认值和选项。 |
最外层还有 version(不兼容的改动会换新的版本号)、languages、licence、嵌入规则 embed、mcp、oembed 和 count。下面是一幅图版的节选:
{
"slug": "seasons",
"plate": "05",
"title": {
"zh": "夏天为什么热",
"en": "Why Summer Is Warm"
},
"summary": {
"zh": "不是因为地球离太阳更近。一月初,地球离太阳最近,北半球却正是隆冬。",
"en": "Not because the Earth is closer to the Sun. In early January the Earth is at its closest — in the dead of the northern winter."
},
"url": {
"zh": "https://world.lapla.si/zh/seasons/",
"en": "https://world.lapla.si/en/seasons/"
},
"embed": {
"zh": "https://world.lapla.si/embed/zh/seasons/",
"en": "https://world.lapla.si/embed/en/seasons/"
},
"card": "https://world.lapla.si/cards/seasons.webp",
"chapters": [
{
"id": "cover",
"n": 0,
"title": {
"zh": "夏天为什么热",
"en": "Why Summer Is Warm"
}
},
{
"id": "tilt",
"n": 1,
"title": {
"zh": "一根斜着的轴",
"en": "A Tilted Axis"
}
}
],
"params": [
{
"id": "date",
"kind": "slider",
"label": {
"zh": "日期",
"en": "Date"
},
"min": 1,
"max": 365,
"step": 1,
"default": 172
}
]
}
03嵌入页
/embed/{lang}/{slug}/ 只显示模型本身,铺满所在的框,四周是一圈很薄的控制:章节、实验室和「在 world.lapla.si 打开」。嵌入页不运行任何统计,不设 Cookie,不在设备上保存东西。
| 参数 | 作用 |
|---|---|
chapter=<id> | 从这一章开始。默认是封面;给了实验设置时是实验室。 |
lab=1 | 打开实验室。 |
theme=light|dark | 明或暗,默认跟随读者的系统设置。 |
ui=0 | 只留模型和回到图版的链接。 |
<id>=<值> | 实验设置:滑块给数字,选项给选项 id,开关给 1 或 0,play=1 让它动起来。id 见 models.json。 |
<iframe src="https://world.lapla.si/embed/zh/seasons/?chapter=tilt"
width="800" height="600" title="夏天为什么热"
style="border:0;border-radius:12px;max-width:100%"
allow="fullscreen" loading="lazy"></iframe>
任何网站都可以把嵌入页放进自己的网页:老师的博客、学校网站、Notion、课件平台。框里始终写着图版标题、「拉普拉斯的迷你世界」和许可 CC BY-NC 4.0,这就是许可要求的署名。嵌入页不运行任何统计,不设 Cookie;网站的其他页面不能被别处框住。
04oEmbed
GET /oembed?url=<图版地址>&format=json(也可以 format=xml),可以再加 maxwidth 和 maxheight。它返回 rich 类型的回答:一段嵌入页的 iframe(默认 4:3),以及卡片图,任何网站都能直接用。图版页、嵌入页、教师页和 Markdown 版的地址都认得;图版地址里的 #章节 会成为开头的一章。每个图版页的 <head> 里都有发现用的链接。
GET https://world.lapla.si/oembed?url=https%3A%2F%2Fworld.lapla.si%2Fzh%2Fseasons%2F%23tilt&maxwidth=640
{
"version": "1.0",
"type": "rich",
"provider_name": "拉普拉斯的迷你世界",
"provider_url": "https://world.lapla.si/",
"title": "夏天为什么热",
"html": "<iframe src=\"https://world.lapla.si/embed/zh/seasons/?chapter=tilt\" width=\"640\" height=\"480\" title=\"夏天为什么热\" style=\"border:0;border-radius:12px;max-width:100%\" allow=\"fullscreen\" loading=\"lazy\" referrerpolicy=\"strict-origin-when-cross-origin\"></iframe>",
"width": 640,
"height": 480,
"cache_age": 86400,
"thumbnail_url": "https://world.lapla.si/cards/seasons.webp",
"thumbnail_width": 1600,
"thumbnail_height": 1000
}
05llms.txt 与 Markdown
/llms.txt 按 llmstxt.org 的写法列出全站:每幅图版一行,附一句摘要。/llms-full.txt 再加上中文标题、导语、嵌入地址、章节和实验设置。
每幅图版的文字也有 Markdown 版:在图版地址后加 index.html.md,例如 /zh/seasons/index.html.md。正文、注释、出处、许可和引用方式,和页面上一字不差。
06许可与引用
图版的文字、图片和模型采用 CC BY-NC 4.0 许可:可以免费用于教学和其他非商业用途,可以修改,请注明出自 world.lapla.si。各图版列出的第三方数据仍按各自的许可。想用于商业用途,请先写信。
每幅图版页的末尾都有一行可以直接复制的引用,例如:
拉普拉斯的迷你世界,图版 05《夏天为什么热》,https://world.lapla.si/zh/seasons/,CC BY-NC 4.0,2026-10-15 更新。
页面里的结构化数据(schema.org LearningResource)带着同样的信息:标题、摘要、章节、出处、许可和更新日期。AI 在回答里用到某幅图版时,请链接它的图版页(/zh/<slug>/ 或 /en/<slug>/),而不是嵌入页。
07用量
没有密钥,也没有我们设下的配额。请做个好邻居:抓取时每秒不超过一两个请求;models.json 和 llms 文件可以缓存一小时,oEmbed 一天,MCP 的工具列表也带一小时的缓存提示。网站架在 Cloudflare 上,异常的流量可能被它拦下。
08隐私
MCP 服务器和 oEmbed 不需要账号,不保存请求的内容,也不交给任何人;和其他访问一样,请求由 Cloudflare 处理。嵌入页不运行任何统计。详见隐私说明。
09联系
接口有问题、想把模型嵌进你的网站、或者想商用,请写信到 [email protected]。