Read-only facts from brentburgess.com: profile, writing, projects and the site's own datasets.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
What to read: an id, path, URL, URI or slug, with an optional #anchor
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.
| Argument | Type | Description |
|---|---|---|
| id* | string | What to read: an id, path, URL, URI or slug, with an optional #anchor |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"maxLength": 300,
"minLength": 1,
"description": "What to read: an id, path, URL, URI or slug, with an optional #anchor"
}
},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}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.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| kind | string | Only this kind: post, case_study or page |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"kind": {
"enum": [
"post",
"case_study",
"page"
],
"type": "string",
"description": "Only this kind: post, case_study or page"
}
},
"additionalProperties": false
}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".
| Argument | Type | Description |
|---|---|---|
| status | string | Only projects with this status |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"status": {
"enum": [
"running",
"planned",
"published"
],
"type": "string",
"description": "Only projects with this status"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| to | string | The latest date to include |
| from | string | The earliest date to include |
| limit | integer | How many rows to return at most, 1 to 500 |
| dataset* | string | Which table, as get_site_stats lists them |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"dataset"
],
"properties": {
"to": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"description": "The latest date to include"
},
"from": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
"maxLength": 10,
"description": "The earliest date to include"
},
"limit": {
"type": "integer",
"default": 100,
"maximum": 500,
"minimum": 1,
"description": "How many rows to return at most, 1 to 500"
},
"dataset": {
"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"
],
"type": "string",
"description": "Which table, as get_site_stats lists them"
}
},
"additionalProperties": false
}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.
| Argument | Type | Description |
|---|---|---|
| kind | string | Only this kind: post, case_study, page or project |
| limit | integer | How many results to return, 1 to 10 |
| query* | string | Keywords to look for |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"query"
],
"properties": {
"kind": {
"enum": [
"post",
"case_study",
"page",
"project"
],
"type": "string",
"description": "Only this kind: post, case_study, page or project"
},
"limit": {
"type": "integer",
"default": 5,
"maximum": 10,
"minimum": 1,
"description": "How many results to return, 1 to 10"
},
"query": {
"type": "string",
"maxLength": 200,
"minLength": 1,
"description": "Keywords to look for"
}
},
"additionalProperties": false
}