Space Context
app.spacecontext由 spacecontext.app 發布官方發布者v0.2.1更新於 Oct 30, 2026
The context layer for the physical world: filmed spaces as cited context for agents.
概覽
遠端 MCP 伺服器,讓助理讀取你拍攝的 Space Context 空間,提供附引用的回答、掃描比對與照片證據。
- 可以做什麼
- 列出、搜尋空間,依分區或整頁 Markdown 讀取
- 針對某個空間提問,取得附引用的簡短回答
- 檢視掃描歷史、比對兩次掃描並取得原始證據照片
- 查詢掃描狀態並追蹤進行中的掃描進度
- 取得掃描權限後:檢查畫面、建立、上傳、啟動或取消掃描,並查看餘額與拍攝清單
- 適用情境
- 適合以拍攝方式記錄真實場所、車輛或家電,並希望助理據此回答問題、比對前後兩次掃描或查核變化,且能指出證據的情境。
- 執行需求
- 透過 Streamable HTTP 連線的遠端端點,使用 OAuth 2.1 登入,無需貼上金鑰。需要 Space Context 帳號(Apple、Google 或電子郵件驗證碼,與 iPhone 應用程式相同)。掃描另需帳號中已綁定信用卡,並在授權時勾選掃描權限。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Space Context,將其新增到工作區。
- 連接 所需的 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
- 為需要使用其工具的對話啟用該服務。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
交給代理程式安裝
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/app.spacecontext%2Fspacecontext/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。其他 MCP 客戶端
把它新增到你客戶端的 mcpServers 設定中。 客戶端會在首次連接時完成 OAuth 登入。
{
"mcpServers": {
"space-context": {
"type": "http",
"url": "https://mcp.spacecontext.app/mcp"
}
}
}README
Space Context MCP server
[License: MIT] [MCP] [OAuth 2.1] [Cloudflare Workers] [Docs]
A remote MCP server that gives Claude, ChatGPT, Codex, Cursor, VS Code or any MCP client access to your Space Context spaces. The assistant can list spaces, search them, read them by section or as one page, ask them questions, compare scans and show the photo evidence. Every item, issue and key location says whether a second, independent check found it on its own photo (verified, unconfirmed or from the narration), so the assistant knows what to state and what to hedge. If you allow it, it can also scan spaces for you.
It speaks MCP over Streamable HTTP and authorizes with OAuth 2.1 (dynamic client registration and client ID metadata documents). It's stateless (createMcpHandler from agents, MCP SDK v2) behind @cloudflare/workers-oauth-provider. This package isn't published to npm. Use the hosted server above, or deploy your own.
Connect an assistant
You never paste a key. Connecting works like this:
- Your assistant opens a Space Context page. You sign in with Apple, Google or a code sent to your email, using the same account as the iPhone app.
- You choose whether the assistant may see sensitive values (Wi-Fi passwords, door and alarm codes, the narration) and whether it may scan spaces for you. By default it can do neither. Scanning needs a card on file in your account (added in the console, nothing charged): without one, the page offers to connect read-only instead, or to try again once the card is added.
- The server creates an API key for this connection only, listed as
MCP · <assistant>in the console. Its scopes arespaces:readandscans:read, plusspaces:sensitiveandscans:writeif you ticked them.
Revoking that key in the console ends the connection, and the assistant asks you to sign in again. Connecting the same assistant again replaces its previous key. The assistant sees your live spaces, including the ones scanned with the iPhone app. A space from the app becomes readable once it has been screened for sensitive values: the first read starts the screening, which takes a minute or two. Full guide: Connect an assistant.
Tools
Reading tools, on every connection (annotated read-only and idempotent):
These tools work only on a connection where the user ticked let it scan spaces. On any other connection the API refuses them with INSUFFICIENT_SCOPE:
Resources: spacecontext://spaces (the list, JSON) and spacecontext://spaces/{space_id} (a space as Markdown). Prompts: check_out_report (compare two scans and write a report that keeps confirmed changes apart from what may be missing) and where_is (find one thing, with its area and evidence photo).
No tool reaches the open web. Space content is returned as data, never as instructions: the server's instructions say so, and so does a note in every result that carries space content. The server card at /.well-known/mcp/server-card.json lists tools, resources and prompts before sign-in. Arguments and results: MCP tools.
Deploy your own
The server is a Cloudflare Worker that talks to a Space Context API (…/v1, with API_V1_ENABLED = "true"). It signs people in through the API's own sign-in endpoints and creates one API key per connection. Everything it keeps is in KV: OAuth clients, grants and tokens (grants carry the connection's API key and are encrypted by the OAuth library), and sign-ins in progress, for ten minutes, encrypted with a key that only the user's browser holds.
1. Install and build the SDK (the server imports it), from the repository root:
2. Create the KV namespace for OAuth clients, grants and tokens, and put its id in kv_namespaces in wrangler.jsonc. This and the next steps run in packages/mcp:
3. Set the configuration in wrangler.jsonc (name, the custom domain in routes, and vars):
4. Add the secret for Google sign-in:
5. Register the callback URLs with the providers:
- Google: add
${PUBLIC_URL}/authorize/google/callbackas an authorized redirect URI of the web OAuth client. - Apple: add
${PUBLIC_URL}/authorize/apple/callbackas a return URL of the Services ID.
Without both GOOGLE_WEB_CLIENT_ID and the secret, the Google button isn't shown, and the same goes for Apple without APPLE_SERVICES_ID. Email sign-in is always offered. The API checks Google and Apple tokens against its own web client ID and Services ID, so use the same ones the API is configured with.
6. Deploy:
Keep these settings from wrangler.jsonc:
global_fetch_strictly_publicstays on. The server fetches client metadata documents from URLs that clients choose, so a plainfetchmust never reach private addresses. The API is reached through theBACKENDbinding.- With
workers_devandpreview_urlsoff, the server answers only on its custom domain. ratelimitslimit each client IP to 10 registrations (/register) and 60 sign-in page requests (/authorize…) a minute, answered with429andRetry-After: 60beyond. Rate limits aren't inherited by environments, and eachnamespace_idmust be unique in your Cloudflare account. Without the bindings (as indev) nothing is limited.- Access tokens last one hour. A grant lives for 90 days after its last refresh. A client registered dynamically is deleted after 180 days without a token request.
wrangler.jsonc also defines dev (local, see below) and staging (Space Context's own staging deployment).
Develop
The API isn't part of this repository. The tests don't need it: they drive registration, PKCE, consent, token and real MCP calls against a fake API. The dev environment sets no Google or Apple client, so local sign-in uses the emailed code. Read CONTRIBUTING.md before adding a tool: any tool that writes or spends must sit behind scans:write and be annotated honestly.
MIT © Finikos S.r.l.
來源:packages/mcp/README.md,提交 0aab27d
工具
0版本歷史
2- v0.2.1最新Oct 15, 2026
- v0.2.0Oct 14, 2026
評分
已滿足適用檢查項的 85%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通必需25 分
- 已宣告認證方式必需10 分
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分