get_contact
Contact details
How to reach Ryan Lindsey, and his working timezone.
無需輸入參數。

me.ryanlindsey由 ryanlindsey.me 發布官方發布者v1.36.0更新於 Oct 24, 2026
Ryan Lindsey's professional corpus, exposed as MCP tools.
一個遠端 MCP 伺服器,提供 Ryan Lindsey 的職涯資料——聯絡方式、履歷、案例研究與文章——供閱讀與語意搜尋。
Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。
把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。
閱讀 https://sourceweft.com/mcp/me.ryanlindsey%2Fryanlindsey-me/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。把它新增到你客戶端的 mcpServers 設定中。
{
"mcpServers": {
"ryan-lindsey": {
"type": "http",
"url": "https://mcp.ryanlindsey.me/mcp"
}
}
}The code behind ryanlindsey.me: an Astro site on the Cloudflare developer platform, plus a second Worker serving a remote MCP server at mcp.ryanlindsey.me. One repository, two deployed Workers, one shared set of D1, KV, R2, Queues and Analytics Engine resources.
The site is built so that a person and an agent read the same corpus through different doors.
Source-visible so you can read how it is built. There is no LICENSE file, and the absence is deliberate rather than an oversight: no license means all rights reserved, so nothing here is licensed for reuse.
Deploys run on Workers Builds from main, and CI has no deploy step. CLAUDE.md carries the working notes, including the commands, the traps worth knowing before editing, and the reasoning behind the parts that look strange.
Four entrypoints, stable by contract:
This file does not list the rest, and the omission is the part worth reading. Every endpoint this site advertises lives in one list, ADVERTISED_SURFACE in src/lib/discovery/surface.ts, published as both the API catalog and the ARD manifest and checked by tests/discovery-catalog.test.ts. A table here would be a second copy, living outside the test suite, and it would drift the first time an endpoint moved. Fetch the catalog rather than trusting this file.
One thing is missing from that list on purpose. /fit and everything beneath it are unlisted by requirement, and a catalog is a published list of the paths its author finds interesting, so listing one there would un-list it.
The split into two Workers is not cosmetic. An ai binding in the site's config makes astro build open a remote proxy session that credential-free CI cannot authenticate, so inference lives on the second Worker and the site reaches it over a service binding. Each Worker names the other, and the cycle is deliberate and legal, because a service binding resolves when it is called rather than when the Worker is defined.
The drawing is deliberately incomplete. It carries the structure and leaves out the rest: which storage each Worker touches, which models it calls, the queue consumer, the crons. The site publishes its own drawing of the deployed inventory on /ops, over the one description of this architecture the repository keeps, src/lib/architecture.ts. That page also reports what the system has done lately and what it cost, read at request time rather than asserted here.
Four claims, each paired with the file that proves it rather than with an assurance.
Four files, in reading order. They explain the rest.
src/lib/discovery/surface.ts, every endpoint this site advertises, in one list, carrying the reason it is one list and not two.src/lib/tier/grant.ts, the only place a token is verified. The site Worker holds no copy: it treats the token as an opaque string and asks over the service binding, so the boundary has one implementation rather than two that agree.tests/workers.ts, why the suite boots real Workers inside workerd, and what it refuses to reach.src/components/ArchitectureDiagram.astro, for its header rather than its output. That header records that two claims in its own first draft were false, names them, and says what the mistake taught. It is a fair sample of how the rest of this repository is commented.release-please watches main and keeps a release pull request open with the next version and its changelog. Merging that pull request tags the release and publishes it.
Pull requests are squash-merged, so the pull request title is the commit subject release-please reads. A title without a recognized type(scope): summary prefix is skipped silently: no version bump, no changelog entry. feat is a minor bump, fix and perf are patches, and type!: or a BREAKING CHANGE: footer is a major. The full set of types lives in release-please-config.json under changelog-sections.
來源:README.md,提交 6b24b76
Contact details
How to reach Ryan Lindsey, and his working timezone.
無需輸入參數。
Résumé
Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary.
formatList case studies
Published case studies with their metadata and citation URLs.
無需輸入參數。
Get a case study
The full markdown of one published case study, by slug.
slug必填List writing
Published posts with their descriptions and citation URLs.
無需輸入參數。
Get a post
The full markdown of one published post, by slug.
slug必填Search the writing
Semantic search across the published posts, case studies and résumé. Each result is a passage, the URL it is published at, and an "exact" flag saying whether the excerpt is the passage that matched.
limitquery必填Request private access
Explains the private access tier and how to request a scoped token.
無需輸入參數。
已滿足適用檢查項的 90%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
請在儲存庫或註冊中心條目中宣告授權條款。
flowchart TB person(["person"]) agent(["agent"])
subgraph site["site Worker (ryanlindsey.me)"] S["pages, posts, case studies, résumé<br>markdown variants, llms.txt, feeds<br>well-known catalogs<br>chat page and the form surfaces"] end
subgraph mcpw["MCP Worker (mcp.ryanlindsey.me)"] G{"grant resolved<br>here, and only here"} T["/mcp, the chat stream,<br>the fit engine"] R[["rate limiter<br>Durable Object"]] G --> T T -->|every tool call spends budget| R end
P[("R2_PRIVATE")]
person --> site agent --> site agent --> mcpw site -->|service binding| mcpw mcpw -->|reads published documents| site T -. "private-docs.ts, the only reader" .-> P