Skip to main content
Glama

Brent Burgess

Server Details

Read-only facts from brentburgess.com: profile, writing, projects and the site's own datasets.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A3.9/5.0

Scored across 7 tools

Disambiguation4/5

The read-oriented tools are mostly distinct: fetch retrieves a specific item by id, list_content enumerates everything, and search finds by keyword. The main overlap is between get_site_stats and query_dataset (summary figures vs raw table rows), and list_content vs list_projects (projects also carry case studies that appear in list_content), but the descriptions explicitly cross-reference and disambiguate each pair.

Naming Consistency4/5

Names use a predictable verb_noun pattern (get_profile, get_site_stats, list_content, list_projects, query_dataset). Minor deviations are the bare verbs fetch and search, which are still clear and conventional for their functions.

Tool Count5/5

Seven tools is well-scoped: each covers a distinct facet (identity, listing, retrieval, search, projects, stats, datasets) with no redundancy. No tool feels gratuitous or missing at the surface level.

Completeness4/5

The surface covers discovery (search, list_content, list_projects), retrieval (fetch), identity (get_profile) and site data (get_site_stats, query_dataset) for a read-only personal site, which is appropriate since no writes are expected. Minor gaps like a dedicated sitemap/navigation tool exist but are workable via list_content and get_profile.

Available Tools

7 tools
fetchRead a post, case study or pageA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWhat to read: an id, path, URL, URI or slug, with an optional #anchor

Output Schema

ParametersJSON Schema
NameRequiredDescription
idYesIts id, with #anchor when one section was read
urlYesIts URL, with #anchor when one section was read
textYesThe text as Markdown, links absolute
titleYesIts title
metadataYesAbout the text

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so safety is covered. The description adds real behavioral context beyond that: the response format is Markdown, and a fragment identifier yields only one section rather than the whole document. It does not say what happens for an unknown id, which is the only notable gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with what is returned, then the id forms, then the anchor modifier. No filler, and each sentence adds a distinct piece of callable information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a single fully documented parameter, complete annotations and an output schema covering the return shape, the description supplies everything an agent needs: what it reads, what formats the id accepts, and how to narrow to a section.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description earns more by enumerating concrete accepted id shapes with examples ('work/sleep-anchor', '/about', a brentburgess.com URL, a brentburgess:// URI, 'consulting'). That is more actionable than the schema's abstract list of forms.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (post, case study, page, project) and states exactly what comes back: full Markdown text, or one section of it. It relates itself to siblings by noting the id comes from search or list_content, which helps the agent place it in the workflow, though it never states outright how it differs in purpose from search or list_content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: the agent can infer this is the read step after search or list_content, and that '#anchor' retrieves a single section. There is no explicit when-to-use/when-not clause or named alternative for reading vs listing, so the agent must infer the routing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_profileWho Brent Burgess isA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe site
nameYesHis name
introYesA short introduction, in his words
pagesYesEvery page on the site
skillsYesWhat he works with
contactYesHow to reach him
taglineYesOne line on what he does
locationYesWhere he is based
job_titleYesHis job title
availabilityYesHis availability for work, as the site states it

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered without the description. The description adds no behavioral context beyond that (no auth/permission notes, and the output schema covers what is returned), so it earns only baseline credit.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with what the tool returns and followed by when to call it; every clause carries information. The content list is slightly long given the output schema presumably enumerates the same fields.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless, read-only profile tool with a full output schema and comprehensive annotations, the description is essentially sufficient: an agent knows what it returns and when to prefer it. The loose thread is the absence of a pointer to sibling tools for non-profile questions.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so per the rubric the baseline is 4. There is nothing for the description to disambiguate, and it correctly adds no parameter discussion.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a concrete resource (Brent Burgess's profile) and enumerates its contents: job title, introduction, location, availability, skills, contact info, and main site pages. That is far more specific than the title alone. It stops short of naming any sibling tool to differentiate from, so it does not reach a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

"Use it first" gives an explicit ordering preference, and "for any question about contacting or hiring him" scopes the use case clearly. There is no stated when-not-to-use or named alternative (e.g., versus `fetch` or `search`), which keeps it below 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_site_statsThis site’s own numbersA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesThe page that shows them
monthlyYesWhen the next monthly page and country counts appear
readingYesReading the site, since launch
buildingYesBuilding the site
datasetsYesThe tables behind the numbers
pipelineYesThe nightly pipeline
see_alsoYesPages with numbers this server does not return
automatedYesCrawlers, bots and scans
data_throughYesThe last day the numbers cover

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description only needs to add context. It adds genuine behavioral semantics: the time windows each metric covers (since launch, latest complete week, nightly) and that each figure carries the last day its data covers, which tells the agent how fresh and how bounded the numbers are.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences: a content inventory followed by a routing pointer. The long enumeration is load-bearing because it defines the metric set, and the routing sentence is well placed at the end. It is dense but nothing is wasted.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter, read-only statistics tool with an output schema that already documents the return shape, the description supplies everything else an agent needs: what metrics exist, their time windows, freshness semantics, and where to go for raw tables.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so there is nothing for the description to disambiguate; baseline 4 applies. The description correctly avoids inventing filtering options that the empty schema rejects.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description enumerates precisely what the tool returns — page views, font downloads, crawlers/scans, commits, PRs, CI runs, pipeline tests and sources — and explicitly contrasts itself with query_dataset. It is a resource enumeration rather than a clean verb+resource phrasing, but an agent can identify the tool's scope without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It names the alternative (query_dataset) and the condition that selects it ('for the tables behind them'), which is exactly the disambiguation an agent needs against that sibling. It gives no guidance on choosing between this tool and get_profile or the other list_* siblings, so it falls short of a full when/when-not treatment.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_contentList everything publishedA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindNoOnly this kind: post, case_study or page

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesHow many items are listed
itemsYesPosts and case studies newest first, then pages

TDQS

A3.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint and destructiveHint=false, so the safety profile is covered. The description still adds useful behavior beyond the annotations: results come back 'newest first' and each item includes its 'sections'. It omits any pagination or result-size limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two compact sentences with the scope and ordering front-loaded; nothing is padded. The second sentence is slightly garbled and could be read as describing this tool's parameters rather than the fetch tool's.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need no explanation, and the description covers filtering, ordering and included sections. The residual gap is the ambiguous 'id' reference and no mention of result limits for a tool that lists everything.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single 'kind' enum is fully documented in the schema, so the description's restatement of the enum values adds nothing. Worse, it introduces an 'id' argument that does not exist in the schema ('Pass an id to fetch to read it'), which could mislead an agent into passing an unsupported parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource set ('Every post, case study and page the server can read') plus scope and ordering ('newest first'). It is clearly distinguishable from siblings like search or query_dataset, though it never names them to make the contrast explicit.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Filter with kind' and 'Pass an id to fetch to read it' imply when to use this tool versus the fetch tool for reading a single item, which is real routing guidance. However the phrasing is ambiguous — 'an id' is not a parameter of this tool — and there is no guidance on when to prefer search over listing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_projectsList his projectsA
Read-onlyIdempotent
Inspect

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
statusNoOnly projects with this status

Output Schema

ParametersJSON Schema
NameRequiredDescription
countYesHow many projects are listed
projectsYesThe projects, in the order the site lists them

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true and destructiveHint=false, so the safety profile is covered. The description adds the scope of returned data (status, changes, tools, case study) but says nothing about ordering, result size, or pagination behavior beyond the safety metadata.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single tight sentence with no filler, and the resource is front-loaded before the filtering hint. The mid-sentence field enumeration is slightly list-like but each item conveys real content.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-required-parameter list tool with an output schema, the description covers what is listed and how to filter, which is sufficient. It does not address ordering or result limits, a minor omission for a read-only listing call.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the single status parameter is documented with its enum values in the schema, so the description is not required to carry parameter meaning. The mention of 'running' as an example filter is only marginal added value over the schema's enum.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly identifies the resource — the projects on the site — and enumerates the aspects returned (status, changes, tools, case study). It is distinguishable from siblings like list_content or get_profile, though the phrasing is a noun list rather than a crisp verb+resource statement.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives a concrete usage hint for the filter — 'Filter with status, for example "running"' — but says nothing about when to choose this over list_content, search, or query_dataset, or what happens when no filter is supplied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

query_datasetRead one of the site’s data tablesA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoThe latest date to include
fromNoThe earliest date to include
limitNoHow many rows to return at most, 1 to 500
datasetYesWhich table, as get_site_stats lists them

Output Schema

ParametersJSON Schema
NameRequiredDescription
urlYesWhere /data shows it
rowsYesThe rows, oldest first
grainYesOne row per
notesYesWhat /data says about these numbers, word for word
titleYesWhat it holds
totalYesHow many rows matched
columnsYesThe columns, in order
datasetYesThe table
returnedYesHow many rows were returned
rows_fromYesThe first date kept; older rows are left out of the server. Null when every row is kept.
truncatedYesWhether more rows matched than were returned
date_columnYesThe column from and to apply to, or null if the table has none
descriptionYesWhat a row is
data_throughYesThe last day the data covers

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered without the description. The description still adds genuine behavioral context: oldest-first ordering, that truncation returns the most recent rows, and that daily/weekly tables retain about a year of history. That is meaningful extra disclosure, though permissions and pagination beyond the single limit are unaddressed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences, each carrying distinct information: what is returned, how filtering and truncation work, and the retention bound. The scoping detail is front-loaded and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return-value explanation is unnecessary and the description correctly avoids it. For a 4-param, 12-enum read tool with full annotation coverage, the description supplies the behavioral and date-semantics context an agent needs. The only omission is explicit sibling routing, which keeps it off a 5.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3 even with no added param detail. The description does add one real semantic point the schema lacks: from and to apply to the table's date column, not an arbitrary one. It otherwise restates format information already present in the schema pattern and limit constraints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific resource (the rows of one table behind the site's data page) and its shape (columns with type and meaning), which clearly distinguishes it from list/search-style siblings. It never explicitly routes the agent away from siblings like fetch, search, or get_site_stats, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: the agent can infer this is the tool for reading raw table rows with date filters. There is no statement of when to use this versus get_site_stats, fetch, or search, and no prerequisites or exclusions are given. The schema's reference to get_site_stats hints at a relationship but the description itself offers no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 7 tool updates
    • First observedfetch
    • First observedget_profile
    • First observedget_site_stats
    • First observedlist_content
    • First observedlist_projects
    • First observedquery_dataset
    • First observedsearch

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to answer questions about a personal site straight from its published JSON bundle — profile, posts, case studies, pages, projects, stats and small datasets — through seven read-only tools for listing, full-text search, fetching Markdown, and querying dataset rows, with no sign-in, database or write path.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Exposes a public, read-only professional profile with tools to search resume evidence, fetch curated links, and generate career briefs for LLM agents.
    MIT
  • F
    license
    Not graded
    quality
    B
    maintenance
    Enables MCP-compatible AI clients to query structured portfolio data such as experience, projects, skills, contact info, and blog posts without scraping HTML.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables querying a stateless, read-only MCP endpoint for profile information, projects, CV details, and grounded answers based on published site content.
    Apache 2.0
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources