Brent Burgess
Read-only facts from brentburgess.com: profile, writing, projects and the site's own datasets.
我该使用它吗
质量与安全性
发现(1)
- LOW在 fetch 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"site": {
"url": "https://brentburgess.com/mcp"
}
}
}远程端点
https://brentburgess.com/mcpstreamable-http它能做什么
工具清单
工具(7)
🟢get_profile
Who Brent Burgess is: his job title, a short introduction, where he is based, his current availability for work, his skills, how to reach him, and the main pages of the site. Use it first, and for any question about contacting or hiring him.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"description": "His name"
},
"job_title": {
"type": "string",
"maxLength": 100,
"description": "His job title"
},
"tagline": {
"type": "string",
"maxLength": 200,
"description": "One line on what he does"
},
"intro": {
"type": "string",
"maxLength": 600,
"description": "A short introduction, in his words"
},
"location": {
"type": "string",
"maxLength": 100,
"description": "Where he is based"
},
"availability": {
"type": "object",
"properties": {
"text": {
"type": "string",
"maxLength": 300,
"description": "What work he is open to"
},
"as_of": {
"type": "string",
"maxLength": 7,
"description": "The month this was last updated, YYYY-MM"
},
"label": {
"type": "string",
"maxLength": 40,
"description": "That month, written out"
}
},
"required": [
"text",
"as_of",
"label"
],
"additionalProperties": false,
"description": "His availability for work, as the site states it"
},
"skills": {
"maxItems": 40,
"type": "array",
"items": {
"type": "string",
"maxLength": 100,
"description": "A skill"
},
"description": "What he works with"
},
"contact": {
"type": "object",
"properties": {
"email": {
"type": "string",
"maxLength": 200,
"description": "His email address"
},
"profiles": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"description": "The link’s label"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
}
},
"required": [
"label",
"url"
],
"additionalProperties": false
},
"description": "His profiles elsewhere, such as LinkedIn and GitHub"
}
},
"required": [
"email",
"profiles"
],
"additionalProperties": false,
"description": "How to reach him"
},
"pages": {
"maxItems": 200,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"description": "The page’s title"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
},
"description": {
"type": "string",
"maxLength": 400,
"description": "What the page is about"
}
},
"required": [
"title",
"url",
"description"
],
"additionalProperties": false
},
"description": "Every page on the site"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "The site"
}
},
"required": [
"name",
"job_title",
"tagline",
"intro",
"location",
"availability",
"skills",
"contact",
"pages",
"url"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_projects(status)
The projects on the site: what each is, whether it is running, what it changed, the tools it uses, and its case study if there is one. Filter with status, for example "running".
输入模式
{
"type": "object",
"properties": {
"status": {
"description": "Only projects with this status",
"type": "string",
"enum": [
"running",
"planned",
"published"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"projects": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"description": "The project’s name"
},
"summary": {
"type": "string",
"maxLength": 1000,
"description": "What it is and does"
},
"status": {
"type": "string",
"enum": [
"running",
"planned",
"published"
],
"description": "running, planned or published"
},
"status_label": {
"type": "string",
"maxLength": 100,
"description": "The status as the site shows it, such as \"Running now\""
},
"outcome": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"description": "What the system changed, in one sentence, as the home page states it; null when the site states none"
},
{
"type": "null"
}
]
},
"stack": {
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"description": "A tool or technology"
},
"description": "What it is built with"
},
"url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
},
{
"type": "null"
}
],
"description": "Where to read about it, or null if nowhere yet"
},
"case_study_url": {
"anyOf": [
{
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
},
{
"type": "null"
}
],
"description": "Its case study, or null if none is published"
}
},
"required": [
"title",
"summary",
"status",
"status_label",
"outcome",
"stack",
"url",
"case_study_url"
],
"additionalProperties": false
},
"description": "The projects, in the order the site lists them"
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 50,
"description": "How many projects are listed"
}
},
"required": [
"projects",
"count"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢list_content(kind)
Every post, case study and page the server can read, newest first, with each one’s sections. Filter with kind ("post", "case_study" or "page"). Pass an id to fetch to read it.
输入模式
{
"type": "object",
"properties": {
"kind": {
"description": "Only this kind: post, case_study or page",
"type": "string",
"enum": [
"post",
"case_study",
"page"
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"items": {
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 200,
"description": "Its id, for fetch"
},
"kind": {
"type": "string",
"enum": [
"post",
"case_study",
"page"
],
"description": "post, case_study or page"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Its title"
},
"description": {
"type": "string",
"maxLength": 400,
"description": "What it is about"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
},
"published": {
"anyOf": [
{
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
{
"type": "null"
}
],
"description": "When it was published; null for a page"
},
"updated": {
"anyOf": [
{
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
{
"type": "null"
}
],
"description": "When it was last updated, if it was"
},
"sections": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string",
"maxLength": 200,
"description": "The section’s heading"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "The section’s URL, with its #anchor"
}
},
"required": [
"heading",
"url"
],
"additionalProperties": false
},
"description": "Its sections, in order"
},
"brief": {
"anyOf": [
{
"type": "object",
"properties": {
"problem": {
"type": "string",
"maxLength": 200,
"description": "The problem, in one sentence"
},
"built": {
"type": "string",
"maxLength": 200,
"description": "What was built, in one sentence"
},
"changed": {
"type": "string",
"maxLength": 200,
"description": "What changed, in one sentence"
}
},
"required": [
"problem",
"built",
"changed"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "A case study’s summary in three sentences; null for a post or page"
}
},
"required": [
"id",
"kind",
"title",
"description",
"url",
"published",
"updated",
"sections",
"brief"
],
"additionalProperties": false
},
"description": "Posts and case studies newest first, then pages"
},
"count": {
"type": "integer",
"minimum": 0,
"maximum": 500,
"description": "How many items are listed"
}
},
"required": [
"items",
"count"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢search(query, kind, limit)
Full-text search over everything published: posts, case studies, the About, Consulting, Now, Privacy and Résumé pages (his work history is on the résumé), and the projects. Use plain keywords, such as "resumable upload" or "fixed-price audit". Each result is a section; pass its id to fetch to read it.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Keywords to look for"
},
"kind": {
"description": "Only this kind: post, case_study, page or project",
"type": "string",
"enum": [
"post",
"case_study",
"page",
"project"
]
},
"limit": {
"default": 5,
"description": "How many results to return, 1 to 10",
"type": "integer",
"minimum": 1,
"maximum": 10
}
},
"required": [
"query"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"maxLength": 200,
"description": "The query searched for"
},
"results": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 300,
"description": "What to pass to fetch: an id, with #anchor for a section"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "The title of the post, case study, page or project"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "The section’s URL"
},
"kind": {
"type": "string",
"enum": [
"post",
"case_study",
"page",
"project"
],
"description": "post, case_study, page or project"
},
"section": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"description": "The section’s heading"
},
{
"type": "null"
}
],
"description": "The section’s heading, or null for opening text or a project"
},
"snippet": {
"type": "string",
"maxLength": 300,
"description": "Up to 300 characters from the section"
},
"score": {
"type": "number",
"minimum": 0,
"description": "How well it matches; higher is better"
}
},
"required": [
"id",
"title",
"url",
"kind",
"section",
"snippet",
"score"
],
"additionalProperties": false
},
"description": "The best matches, best first"
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "How many sections matched in all"
}
},
"required": [
"query",
"results",
"total"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢fetch(id)
The full text of a post, case study, page or project as Markdown, or one section of it. The id can be an id from search or list_content (such as "work/sleep-anchor"), a path ("/about"), a brentburgess.com URL, a brentburgess:// URI or a unique slug ("consulting"). Add #anchor for one section, as search results do.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 300,
"description": "What to read: an id, path, URL, URI or slug, with an optional #anchor"
}
},
"required": [
"id"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"maxLength": 300,
"description": "Its id, with #anchor when one section was read"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "Its title"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "Its URL, with #anchor when one section was read"
},
"text": {
"type": "string",
"maxLength": 60000,
"description": "The text as Markdown, links absolute"
},
"metadata": {
"type": "object",
"properties": {
"kind": {
"type": "string",
"enum": [
"post",
"case_study",
"page",
"project"
],
"description": "post, case_study, page or project"
},
"description": {
"type": "string",
"maxLength": 400,
"description": "What it is about"
},
"published": {
"anyOf": [
{
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
{
"type": "null"
}
],
"description": "When it was published; null for a page"
},
"updated": {
"anyOf": [
{
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
{
"type": "null"
}
],
"description": "When it was last updated, if it was"
},
"section": {
"anyOf": [
{
"type": "string",
"maxLength": 200,
"description": "The section’s heading"
},
{
"type": "null"
}
],
"description": "The section read, or null for the whole"
},
"sections": {
"maxItems": 100,
"type": "array",
"items": {
"type": "object",
"properties": {
"heading": {
"type": "string",
"maxLength": 200,
"description": "The section’s heading"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "The section’s URL, with its #anchor"
}
},
"required": [
"heading",
"url"
],
"additionalProperties": false
},
"description": "All its sections, in order"
},
"brief": {
"anyOf": [
{
"type": "object",
"properties": {
"problem": {
"type": "string",
"maxLength": 200,
"description": "The problem, in one sentence"
},
"built": {
"type": "string",
"maxLength": 200,
"description": "What was built, in one sentence"
},
"changed": {
"type": "string",
"maxLength": 200,
"description": "What changed, in one sentence"
}
},
"required": [
"problem",
"built",
"changed"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "A case study’s summary in three sentences; null for a post or page"
},
"project": {
"anyOf": [
{
"type": "object",
"properties": {
"title": {
"type": "string",
"maxLength": 200,
"description": "The project’s name"
},
"status_label": {
"type": "string",
"maxLength": 100,
"description": "Its status as the site shows it"
},
"stack": {
"maxItems": 30,
"type": "array",
"items": {
"type": "string",
"maxLength": 60,
"description": "A tool or technology"
},
"description": "What it is built with"
}
},
"required": [
"title",
"status_label",
"stack"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The project a case study is about; null otherwise"
},
"links": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"description": "The link’s label"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
}
},
"required": [
"label",
"url"
],
"additionalProperties": false
},
"description": "Where a case study’s running system can be seen"
},
"truncated": {
"type": "boolean",
"description": "Whether the text was cut at 60,000 characters"
}
},
"required": [
"kind",
"description",
"published",
"updated",
"section",
"sections",
"brief",
"project",
"links",
"truncated"
],
"additionalProperties": false,
"description": "About the text"
}
},
"required": [
"id",
"title",
"url",
"text",
"metadata"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢get_site_stats
The figures on this site’s data page: browser page views and font downloads since launch, crawlers and scans in the latest complete week, commits, pull requests and CI runs, and the nightly pipeline’s tests and sources, each with the last day the data covers. For the tables behind them, use query_dataset.
输入模式
{
"type": "object",
"properties": {},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"data_through": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The last day the numbers cover"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "The page that shows them"
},
"reading": {
"type": "object",
"properties": {
"first_day": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day counted"
},
"browser_page_views": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Pages asked for by clients that name a browser"
},
"font_downloads": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Browsers that downloaded the site’s font, close to people"
},
"notes": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"description": "A caption from /data, word for word"
},
"description": "What /data says about these numbers, word for word"
}
},
"required": [
"first_day",
"browser_page_views",
"font_downloads",
"notes"
],
"additionalProperties": false,
"description": "Reading the site, since launch"
},
"automated": {
"type": "object",
"properties": {
"week": {
"anyOf": [
{
"type": "object",
"properties": {
"first_day": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
"last_day": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
}
},
"required": [
"first_day",
"last_day"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The latest complete week, or null before the first"
},
"by_class": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"client_class": {
"type": "string",
"maxLength": 40,
"description": "ai_crawler, search_crawler, other_bot, script or unrecognised"
},
"requests": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Page requests that week"
}
},
"required": [
"client_class",
"requests"
],
"additionalProperties": false
},
"description": "Page requests that week by kind of client"
},
"scans": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"description": "What the scans looked for"
},
"requests": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Requests that week"
}
},
"required": [
"label",
"requests"
],
"additionalProperties": false
},
"description": "Requests that week for software this static site doesn’t run"
},
"notes": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"description": "A caption from /data, word for word"
},
"description": "What /data says about these numbers, word for word"
}
},
"required": [
"week",
"by_class",
"scans",
"notes"
],
"additionalProperties": false,
"description": "Crawlers, bots and scans"
},
"building": {
"type": "object",
"properties": {
"commits": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Commits to main in the complete weeks since launch, merges and nightly data commits left out"
},
"commits_with_claude": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Of those, commits co-authored with Claude Code"
},
"ci_runs": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "CI runs"
},
"ci_passed": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "CI runs that passed"
},
"months": {
"maxItems": 120,
"type": "array",
"items": {
"type": "object",
"properties": {
"month": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The month’s first day"
},
"complete": {
"type": "boolean",
"description": "Whether the month is over"
},
"prs_merged": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Pull requests merged"
},
"median_hours_to_merge": {
"anyOf": [
{
"type": "number",
"minimum": 0
},
{
"type": "null"
}
],
"description": "Median hours from opening to merge"
}
},
"required": [
"month",
"complete",
"prs_merged",
"median_hours_to_merge"
],
"additionalProperties": false
},
"description": "Pull requests by month"
},
"notes": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"description": "A caption from /data, word for word"
},
"description": "What /data says about these numbers, word for word"
}
},
"required": [
"commits",
"commits_with_claude",
"ci_runs",
"ci_passed",
"months",
"notes"
],
"additionalProperties": false,
"description": "Building the site"
},
"monthly": {
"type": "object",
"properties": {
"next_month": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The first day of the next month to be counted"
},
"closes": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "When that month closes for counting"
}
},
"required": [
"next_month",
"closes"
],
"additionalProperties": false,
"description": "When the next monthly page and country counts appear"
},
"pipeline": {
"type": "object",
"properties": {
"tests": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Tests run"
},
"passed": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Tests passed"
},
"unit": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "Of those, unit tests"
}
},
"required": [
"total",
"passed",
"unit"
],
"additionalProperties": false,
"description": "The data tests in the last nightly build"
},
"sources": {
"maxItems": 20,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 80,
"description": "The source"
},
"data_through": {
"anyOf": [
{
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
{
"type": "null"
}
],
"description": "The last day read from it"
}
},
"required": [
"name",
"data_through"
],
"additionalProperties": false
},
"description": "Where the numbers come from"
},
"last_run": {
"anyOf": [
{
"type": "object",
"properties": {
"started_at": {
"type": "string",
"maxLength": 20,
"description": "When it started, UTC"
},
"ok": {
"type": "boolean",
"description": "Whether every source was read"
}
},
"required": [
"started_at",
"ok"
],
"additionalProperties": false
},
{
"type": "null"
}
],
"description": "The collector’s latest run"
}
},
"required": [
"tests",
"sources",
"last_run"
],
"additionalProperties": false,
"description": "The nightly pipeline"
},
"datasets": {
"maxItems": 50,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"enum": [
"agg_ci_steps_30d",
"agg_countries_monthly",
"agg_pages_monthly",
"fct_checks",
"fct_ci_daily",
"fct_crawlers_weekly",
"fct_font_daily",
"fct_github_monthly",
"fct_github_weekly",
"fct_pipeline_runs",
"fct_probes_weekly",
"fct_reading_daily"
],
"description": "Pass to query_dataset"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "What it holds"
},
"grain": {
"type": "string",
"maxLength": 100,
"description": "One row per"
},
"rows": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "How many rows it holds"
}
},
"required": [
"name",
"title",
"grain",
"rows"
],
"additionalProperties": false
},
"description": "The tables behind the numbers"
},
"see_also": {
"maxItems": 10,
"type": "array",
"items": {
"type": "object",
"properties": {
"label": {
"type": "string",
"maxLength": 80,
"description": "The link’s label"
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "An absolute https URL"
}
},
"required": [
"label",
"url"
],
"additionalProperties": false
},
"description": "Pages with numbers this server does not return"
}
},
"required": [
"data_through",
"url",
"reading",
"automated",
"building",
"monthly",
"pipeline",
"datasets",
"see_also"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}🟢query_dataset(dataset, from, to, limit)
The rows of one table behind this site’s data page, oldest first, with each column’s type and meaning. Filter by date with from and to (YYYY-MM-DD), which apply to the table’s date column; if more rows match than the limit, the most recent are returned. Daily and weekly tables keep about a year.
输入模式
{
"type": "object",
"properties": {
"dataset": {
"type": "string",
"enum": [
"agg_ci_steps_30d",
"agg_countries_monthly",
"agg_pages_monthly",
"fct_checks",
"fct_ci_daily",
"fct_crawlers_weekly",
"fct_font_daily",
"fct_github_monthly",
"fct_github_weekly",
"fct_pipeline_runs",
"fct_probes_weekly",
"fct_reading_daily"
],
"description": "Which table, as get_site_stats lists them"
},
"from": {
"description": "The earliest date to include",
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"to": {
"description": "The latest date to include",
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$"
},
"limit": {
"default": 100,
"description": "How many rows to return at most, 1 to 500",
"type": "integer",
"minimum": 1,
"maximum": 500
}
},
"required": [
"dataset"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}输出模式
{
"type": "object",
"properties": {
"dataset": {
"type": "string",
"enum": [
"agg_ci_steps_30d",
"agg_countries_monthly",
"agg_pages_monthly",
"fct_checks",
"fct_ci_daily",
"fct_crawlers_weekly",
"fct_font_daily",
"fct_github_monthly",
"fct_github_weekly",
"fct_pipeline_runs",
"fct_probes_weekly",
"fct_reading_daily"
],
"description": "The table"
},
"title": {
"type": "string",
"maxLength": 200,
"description": "What it holds"
},
"description": {
"type": "string",
"maxLength": 400,
"description": "What a row is"
},
"grain": {
"type": "string",
"maxLength": 100,
"description": "One row per"
},
"date_column": {
"anyOf": [
{
"type": "string",
"maxLength": 40,
"description": "The column from and to apply to"
},
{
"type": "null"
}
],
"description": "The column from and to apply to, or null if the table has none"
},
"rows_from": {
"anyOf": [
{
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "A date, YYYY-MM-DD"
},
{
"type": "null"
}
],
"description": "The first date kept; older rows are left out of the server. Null when every row is kept."
},
"url": {
"type": "string",
"maxLength": 2048,
"description": "Where /data shows it"
},
"columns": {
"maxItems": 40,
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 60,
"description": "The column"
},
"type": {
"type": "string",
"maxLength": 40,
"description": "Its type, as the database has it"
},
"description": {
"type": "string",
"maxLength": 200,
"description": "What it holds"
}
},
"required": [
"name",
"type",
"description"
],
"additionalProperties": false
},
"description": "The columns, in order"
},
"rows": {
"maxItems": 500,
"type": "array",
"items": {
"type": "object",
"propertyNames": {
"type": "string",
"maxLength": 60
},
"additionalProperties": {
"anyOf": [
{
"type": "string",
"maxLength": 200
},
{
"type": "number"
},
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"description": "One row, by column name"
},
"description": "The rows, oldest first"
},
"returned": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "How many rows were returned"
},
"total": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991,
"description": "How many rows matched"
},
"truncated": {
"type": "boolean",
"description": "Whether more rows matched than were returned"
},
"data_through": {
"type": "string",
"maxLength": 10,
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"description": "The last day the data covers"
},
"notes": {
"maxItems": 10,
"type": "array",
"items": {
"type": "string",
"maxLength": 400,
"description": "A caption from /data, word for word"
},
"description": "What /data says about these numbers, word for word"
}
},
"required": [
"dataset",
"title",
"description",
"grain",
"date_column",
"rows_from",
"url",
"columns",
"rows",
"returned",
"total",
"truncated",
"data_through",
"notes"
],
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}社区
证据