Cameron Rye Portfolio MCP Server
Server Details
Cameron Rye's blog, projects, resume, and live site stats, plus contact and newsletter tools.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.2/5 across 12 of 12 tools scored.
Each tool targets a distinct resource (about, now, post, project, pulse, reading, posts, projects, search results, contact, newsletter) and action (get, list, search, submit, subscribe). The two search tools explicitly differentiate by exact substring vs semantic vector search, removing any ambiguity.
All tool names follow a consistent verb_noun snake_case pattern: get_* for single item retrieval, list_* for collections, search_* for search, and submit_*/subscribe_* for actions. No mixed conventions or style deviations.
With 12 tools, the server is well-scoped for a portfolio site. It covers content access (posts, projects, reading), personal info (about, now), live stats, search, and user interactions (contact, newsletter) without being bloated or sparse.
The tool surface fully covers the public-facing domain of a portfolio site: all content types are retrievable in both list and detail forms, search is provided via two complementary methods, and transactional actions for contact and newsletter subscription are included. No obvious gaps or dead ends exist for the intended read-oriented purpose.
Available Tools
12 toolsget_aboutGet author profileAInspect
Return a short bio about Cameron Rye, the portfolio owner.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It says 'Return', which implies a read operation, but does not explicitly state it is read-only, side-effect-free, or whether any authentication is needed. For a simple get, this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence with no unnecessary words. It is front-loaded with the verb and clearly states the resource, making it easy to scan.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the core return value ('short bio') and names the subject. However, since there is no output schema, it does not specify whether the bio is plain text, HTML, or a structured object. For a trivial no-parameter tool, this is still quite complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, so there is nothing for the description to add beyond the empty schema. The baseline for 0 parameters is 4, and the description satisfies this by stating what the tool returns.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Return' and identifies the exact resource ('short bio about Cameron Rye, the portfolio owner'). This clearly distinguishes get_about from sibling tools like get_post or get_project, which target different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied: an agent would use this tool when it needs the author's bio. However, there is no explicit statement about when to use it versus alternatives, nor any mention of situations to avoid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_nowGet current focus (/now)AInspect
Return what Cameron is currently working on, learning, building, reading, and up to in life — the live /now page sections.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| sections | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must carry the transparency burden. It discloses that the tool returns a live page with sections, indicating the content is dynamic and structured. As a read operation with no side effects, this is adequate disclosure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that concisely states the tool's function without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity, the absence of parameters, and the presence of an output schema, the description is complete. It tells the agent what to expect: the current focus areas and the live page sections.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema leaves nothing to explain. The baseline of 4 applies, and the description adds no parameter information because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the verb 'Return' and specifies the resource (Cameron's current focus) and lists the categories (working on, learning, building, reading) plus the live /now page sections. This clearly distinguishes it from sibling tools like get_about or get_reading.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for retrieving current focus information, which is a distinct scenario from siblings like get_about or list_posts. However, it does not explicitly name alternatives or state when not to use it, so it earns a 4 rather than a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_postGet blog postAInspect
Return the full markdown body and frontmatter of a post by slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| body | Yes | |
| slug | Yes | |
| frontmatter | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description is the only source of behavioral information. It clarifies that the tool returns markdown body and frontmatter, but it does not disclose error behavior, authentication requirements, or side effects. The read-only nature is implied but not explicitly stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It quickly conveys the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and has an output schema, so the description doesn't need to detail return structure. It covers the purpose and main parameter semantics, though it lacks usage guidance and error handling details. Overall, it is sufficient for a basic retrieval tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must add meaning. It clearly indicates that the 'slug' parameter identifies the post, providing purpose beyond the schema's type string. However, it doesn't give format examples or constraints beyond minLength.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Return' and names the resource 'post by slug', and specifies the content (markdown body and frontmatter). This clearly distinguishes it from sibling tools like list_posts and search_posts, as well as other get_* tools for different content types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage when retrieving a single post by its slug, but it does not explicitly state when to use this tool versus alternatives, nor does it mention exclusion criteria. No reference to sibling tools is made.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_projectGet projectAInspect
Return the full markdown body and frontmatter of a project by slug.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| body | Yes | |
| slug | Yes | |
| frontmatter | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. 'Return' implies a read-only operation, but it does not explicitly state that there are no side effects or describe error behavior if the slug does not exist. It does add value by specifying what is returned (full markdown body and frontmatter), but leaves other behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence of nine words, front-loaded with the action and resource. Every word earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one param, no nested objects) and an output schema exists, so the description only needs to convey the purpose and key identifier. It does that effectively by stating the return content. A minor omission is the lack of any note about behavior when the slug is not found, but this is not critical given the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It clarifies that the parameter is the project's slug, but does not explain slug format, provide examples, or note constraints beyond the schema's minLength. This is minimal but sufficient for a single well-understood parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Return'), names the resource ('project'), and specifies the lookup key ('by slug'). It clearly distinguishes from sibling tools like get_post and list_projects, which target different content types or operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage: if you have a project slug and need the full markdown body and frontmatter, use this tool. However, it does not explicitly state when to prefer it over alternatives like list_projects or get_post, nor does it mention any exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pulseGet site pulseAInspect
Return live, PII-free operational stats for rye.dev: recent Core Web Vitals p75s, 30-day pageviews, trailing-30d uptime %, top-reacted pages, and the last deploy. Same data the homepage pulse strip shows.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| pulse | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the transparency burden. It discloses that the data is 'live' and 'PII-free,' and it lists the specific metrics returned, giving a clear picture of what the operation does without hidden side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the main action and resource, followed by a concise list of data contents. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter read-only stats tool with an output schema present, the description fully covers what the agent needs: what it returns, that it is live and privacy-safe, and that it mirrors the homepage pulse data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and schema coverage is 100% (empty properties). The description adds no parameter details because there are none to explain; the baseline of 4 applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Return live, PII-free operational stats for rye.dev' and enumerates exactly what data is included, which distinguishes it from sibling content-retrieval tools like get_post or get_about.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides context by noting 'Same data the homepage pulse strip shows,' which implies this is for site-wide stats, but it does not explicitly name alternatives or say when not to use it. Since all siblings are content/page-specific tools, the scope is reasonably clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_readingGet reading listAInspect
Return Cameron's reading list — books currently reading, finished, or abandoned, with notes. Filter by status if given.
| Name | Required | Description | Default |
|---|---|---|---|
| status | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | Yes | |
| books | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description fully carries the burden of behavioral disclosure. It reveals that the tool returns a reading list including statuses and notes, and that filtering is possible. This is a read-only operation with no side effects, and the description sufficiently conveys its behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that efficiently conveys purpose and filtering. Every phrase contributes value, with no redundant or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one optional parameter) and the presence of an output schema defining return values, the description is complete. It covers the tool's purpose, scope, and filtering behavior, leaving no significant gaps for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has one parameter 'status' with an enum but no property description (0% coverage). The description compensates by explaining the purpose: 'Filter by status if given' and by listing the statuses in the main text, adding semantic meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: 'Return Cameron's reading list' with specific statuses (reading, finished, abandoned) and notes. This differentiates it from sibling tools like get_about or get_now which target different resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use this tool: to retrieve Cameron's reading list, with optional status filtering. It does not explicitly mention alternatives, but the sibling tools are evidently for different content types, so the context is sufficient without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_postsList blog postsAInspect
Return up to N most recent published blog posts.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| posts | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses key behavior: returns only 'published' posts, orders by 'most recent', and limits to 'N'. It does not mention side effects, but 'return' implies a read-only operation. The description adds useful context (publishing status, recency) beyond the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the essential purpose and scope without waste. It earns its place with every word.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with an output schema present, the description adequately covers the main behavior (returning recent published posts up to a limit). It does not detail return format, but that is covered by the output schema. Missing guidance on alternative tools is minor given the simplicity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has no descriptions (0% coverage). The description uses 'N' to represent the limit, conveying that the limit controls the number of returned posts, but it does not explicitly reference the parameter name 'limit' or its range (schema provides min/max/default). This adds some meaning but leaves the mapping implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('return') and resource ('blog posts'), with clear scope ('most recent published') that distinguishes it from siblings like get_post (single post) and search_posts (search). The title and description align well.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for listing recent published posts via 'most recent published,' making it clear when to use this tool. However, it does not explicitly mention alternatives or exclusions, such as recommending search_posts for filtering or get_post for a single item. Since sibling names are available, the context is sufficient though not explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList projectsAInspect
Return all portfolio projects with their slug, title, and short description.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| projects | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does specify the scope ('all') and output fields, but it does not explicitly state that this is a read-only operation or disclose potential side effects, pagination, or authentication requirements. This is a minor gap for a simple listing tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no superfluous words. It efficiently captures the action, scope, and output fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless list tool with an output schema, the description is complete enough. It specifies what is returned and the scope. Minor omissions like sorting or authorization are unlikely to be necessary for this simple read-only operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description adds no parameter-level meaning, but none is needed. The baseline for zero parameters is 4, and the description adequately covers the tool's behavior without parameter details.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Return all'), the resource ('portfolio projects'), and the specific fields returned ('slug, title, and short description'). It distinguishes this tool from siblings like get_project (singular) and list_posts (different resource type).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly communicates that this tool is for retrieving all projects, which is clear context for when to use it. However, it does not explicitly mention alternatives or when not to use it, such as referencing get_project for a single project.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_postsSearch blog postsAInspect
Case-insensitive substring match across title, description, and tags. Returns up to 10 matches.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| matches | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of disclosing behavior. It states the case-insensitive substring matching across specific fields and the cap of 10 results, which is useful. It does not mention pagination, ordering, or behavior when no matches are found, but for a simple read-only search, these are minor gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two concise sentences with no filler. It front-loads the core matching behavior and result limit, making it easy to parse and act upon.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple with one parameter and an output schema (which reduces the need to describe return values). The description covers matching behavior and result limit, and implies a read-only search. It could be slightly richer by noting differences from sibling list_posts or search_site, but overall it is sufficient for this simple tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema only defines 'query' as a minLength 1 string with no description, and schema coverage is 0%. The description compensates by explaining that the query is a case-insensitive substring matched across title, description, and tags, adding meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action: case-insensitive substring search across title, description, and tags. This distinguishes it from siblings like list_posts (which likely lists all posts) and search_site (which likely searches the whole site).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies when to use this tool: when you need to search blog posts by a substring. However, it does not explicitly contrast it with alternatives like list_posts or search_site, nor does it state when not to use it. This is clear context without explicit exclusions or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_siteSemantic site searchAInspect
Semantic (vector similarity) search across blog posts and projects — the same Cloudflare Vectorize retrieval the Ask chatbot uses, without the LLM call. Broader than search_posts (which only does exact substring matching on title/description/tags): finds conceptually related content even when the query words never appear verbatim. Returns scored chunks with deep-link URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of disclosing behavior. It explains the vector similarity mechanism, the lack of LLM involvement, and the return format (scored chunks with deep-link URLs). It does not mention rate limits, errors, or pagination, but these are less critical for a read-only search tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, front-loaded with the core purpose, then provides a comparison to search_posts, and ends with the output format. Every sentence adds value, and there is no wasted wording or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for a search tool of this complexity. It specifies the scope (blog posts and projects), the search behavior (semantic similarity), the differentiation from a sibling tool, and the return format. Since an output schema exists, the description appropriately does not need to detail the full response structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for parameter semantics. It does not explicitly define 'query' or 'limit', but the query's role is implied by the semantic search context, and the schema provides full constraints and default for limit. The description adds some conceptual meaning about how the query behaves (semantic matching) but leaves limit unexplained beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool performs semantic (vector similarity) search across blog posts and projects, using a specific verb and resource. It also distinguishes this tool from sibling search_posts by contrasting semantic matching with exact substring matching, making the purpose unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance by naming the alternative (search_posts) and explaining when this tool is broader and more appropriate for conceptual matches. It also clarifies that this is the same retrieval used by the Ask chatbot but without the LLM call, giving clear context for when to choose this tool over others.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_contactSubmit contact messageAInspect
Send Cameron a message through the site contact form. Subject to the same validation and per-IP rate limits as the contact form itself.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ||
| Yes | |||
| message | Yes | ||
| subject | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| success | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden and adds useful context: 'Subject to the same validation and per-IP rate limits as the contact form itself.' This discloses side effects and constraints beyond the schema. It could mention success/failure behavior, but the existence of an output schema reduces that need.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence (13 words) with no filler. It front-loads the purpose and adds one key behavioral constraint, making it efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple tool (4 required params, no annotations, and an output schema), the description covers the core purpose and a key behavioral constraint. It lacks explicit alternative guidance and parameter semantics, but these are partly addressed by the schema and obvious sibling differences, making it reasonably complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description should compensate, but it does not mention any parameters. Although parameter names (name, email, subject, message) are self-explanatory and the schema includes formats, the description adds no additional meaning or guidance on parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Send Cameron a message') and the resource ('site contact form'), which is a specific verb+resource. It distinguishes itself from sibling tools like get_post or subscribe_newsletter by indicating a direct message submission.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for contacting Cameron through the form but does not explicitly state when to use this tool versus alternatives (e.g., subscribe_newsletter or search tools). It provides context about validation/rate limits but no explicit when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
subscribe_newsletterSubscribe to the newsletterAInspect
Subscribe an email address to the newsletter. Sends a confirmation email; the subscription only becomes active once confirmed. Same validation and per-IP rate limits as the signup form.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | |||
| source | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| message | Yes | |
| success | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It discloses that a confirmation email is sent, the subscription only becomes active after confirmation, and validation/rate limits match the signup form. This is valuable behavioral information beyond the basic action.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary action, and every clause adds useful information: confirmation email, activation condition, and rate limits. No redundancy or unnecessary detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is sufficiently complete for a subscription tool: it covers the action, confirmation behavior, validation, and rate limits. An output schema exists, so return values are not required, and the description does not need to explain them. Could include details on duplicate subscriptions or edge cases, but these are not essential.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions the email address in the purpose, but does not explain the 'source' parameter at all. The description adds no meaning beyond what the schema already conveys about the email parameter (format, pattern), and is silent on the optional source field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's verb and resource: 'Subscribe an email address to the newsletter.' This is specific and unambiguous, and the sibling tools are all content/read operations, making this subscription action easily distinguishable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context for when to use the tool—subscribing an email to the newsletter. It does not explicitly state when not to use it or name alternatives, but the sibling list makes its purpose obvious. The mention of confirmation email and rate limits adds useful situational context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Servers
- Alicense-qualityCmaintenanceProvides live integrations with GitHub, Spotify, and blog RSS feeds to power a dynamic portfolio.12GPL 3.0
- AlicenseBqualityCmaintenanceLightweight content management system for websites, built for the AI era7226MIT
- Alicense-qualityBmaintenanceStatic site generator / website building toolkit for AI coding agents like Claude, Codex, Cursor, Gemini, OpenClaw, etc. No subscription, no lock-in — host your site anywhere.199Elastic 2.0
- Alicense-qualityDmaintenanceEnables AI-powered conversations about resume/CV content and email notification sending through a comprehensive MCP server. Features a modern Next.js frontend with resume chat interface, email forms, and resume viewer for SE interview demonstrations.270MIT