Ryan Lindsey

me.ryanlindsey由 ryanlindsey.me 发布官方发布者v1.36.0更新于 Oct 24, 2026

Ryan Lindsey's professional corpus, exposed as MCP tools.

已验证Streamable HTTP可网页运行网页搜索与抓取知识与记忆

概览

AI 生成的概览

一个远程 MCP 服务器,提供 Ryan Lindsey 的职业资料——联系方式、简历、案例研究和文章——供阅读与语义搜索。

可以做什么
获取联系方式和工作时区,以及以 JSON Resume 数据、markdown 或简短文字摘要形式提供的简历。列出已发布的案例研究和文章及其元数据与引用链接。按 slug 获取单篇案例研究或文章的完整 markdown。在文章、案例研究和简历之间进行语义搜索,返回段落、其发布链接以及是否为精确匹配的标记。了解私有访问层级以及如何申请限定范围的令牌。
适用场景
当希望助手回答关于 Ryan Lindsey 的背景、工作或文章的问题,或引用其已发布的案例研究和文章而无需抓取网站时适用。
运行要求
远程 streamable HTTP 端点;未声明任何软件包、环境变量或请求头。公开工具无需身份验证;私有层级需要申请限定范围的令牌。
安装前请注意
私有访问层级涉及申请限定范围的令牌,请将令牌视为机密。工具调用会消耗服务器上受速率限制的配额。内容是关于个人的已发布材料,应注明出处而非据为己有。

安装

在 SourceWeft 中

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

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/me.ryanlindsey%2Fryanlindsey-me/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "ryan-lindsey": {
      "type": "http",
      "url": "https://mcp.ryanlindsey.me/mcp"
    }
  }
}

README

ryanlindsey.me

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.

If you are an agent

Four entrypoints, stable by contract:

EntrypointWhat it is
/llms.txtThe curated index, and the place to start
/.well-known/ard.jsonThe ARD manifest, also served as ai-catalog.json
/.well-known/mcp/server-card.jsonThe server card, served on both origins
https://mcp.ryanlindsey.me/mcpThe protocol endpoint itself

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.

How it fits together

mermaid
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

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.

What this repo guarantees

Four claims, each paired with the file that proves it rather than with an assurance.

ClaimEnforced by
The private tier is a partition rather than a filter. The public document layer's env interface does not name the private bucket at all.tests/tier-private-docs.test.ts, at the type level
An unauthenticated tools/list cannot enumerate a gated tool name, and calling one by name answers unknown-tool rather than a refusal confirming it.tests/mcp-gated.test.ts, "invisibility without a grant"
No test reaches Workers AI, Vectorize, Browser Rendering or a real secret. No deployed config declares the override variables, and an unrecognized value throws.tests/workers.ts sets them in one place, tests/mcp-env.test.ts keeps them out of both deployed configs, and an unrecognized value throws at the call site, as in src/lib/turnstile.ts
The MCP Worker's binding list cannot drift from its wrangler config, in either direction.tests/mcp-env.test.ts

Five minutes in this codebase

Four files, in reading order. They explain the rest.

  1. src/lib/discovery/surface.ts, every endpoint this site advertises, in one list, carrying the reason it is one list and not two.
  2. 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.
  3. tests/workers.ts, why the suite boots real Workers inside workerd, and what it refuses to reach.
  4. 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.

Releases

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

工具

8

get_contact

Contact details

How to reach Ryan Lindsey, and his working timezone.

无需输入参数。

get_resume

Résumé

Ryan Lindsey's résumé: JSON Resume data, the published markdown document, or a short prose summary.

输入参数format

list_case_studies

List case studies

Published case studies with their metadata and citation URLs.

无需输入参数。

get_case_study

Get a case study

The full markdown of one published case study, by slug.

输入参数slug必填

list_writing

List writing

Published posts with their descriptions and citation URLs.

无需输入参数。

get_post

Get a post

The full markdown of one published post, by slug.

输入参数slug必填

search_writing

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

Request private access

Explains the private access tier and how to request a scoped token.

无需输入参数。

版本历史

1
  1. v1.36.0最新Sep 22, 2026

评分

已满足适用检查项的 90%

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

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。