Skip to main content
Glama

Khalid Ibne Hasan · Portfolio

get post

get_post

Returns the full text of one in-site note by slug. Substack essays live on Substack; for those this returns the external URL to read instead. Get slugs from list_writing.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
slugYesThe post slug, as returned by list_writing.

TDQS

A4/5.0
Behavior3/5

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

With no annotations, the description carries the behavioral burden. It discloses a significant non-obvious behavior: Substack essays are not returned as full text but as an external URL. However, it does not mention error behavior, missing slugs, or the exact response format beyond the text/URL distinction.

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 tightly packed sentences with no filler. The main return behavior is front-loaded, the Substack exception is clearly explained, and the source for the slug is pointed to. Every sentence earns its place.

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 single-parameter tool with no output schema, the description covers the essential input source and the key behavioral deviation. It could go further on failure modes or response structure, but the core calling context is complete enough for an agent to use it correctly.

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%, so the schema already documents the slug parameter. The description reinforces that slugs come from list_writing, but this adds little beyond the schema's existing parameter description. Baseline 3 is appropriate.

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

Purpose5/5

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

The description states a specific verb ('Returns') and a clear resource ('one in-site note by slug'), and immediately distinguishes itself from Substack-hosted essays and from sibling list_writing. This makes its scope unmistakable even 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?

The description clearly implies when to use this tool: when you have a slug from list_writing. It also explains the important conditional behavior for Substack essays. It does not explicitly enumerate when not to use this tool versus sibling retrieval tools, but the context is strong enough for an agent to route correctly.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.4/5.0
Disambiguation5/5

Each tool targets a distinct resource and action: profile, resume, availability, projects, writing, case study detail, post detail, site search, and persona Q&A. The only potentially overlapping pair (list_projects/get_case_study and list_writing/get_post) follows a clear list-then-get pattern, so an agent can easily distinguish them.

Naming Consistency5/5

Tool names follow a consistent verb_noun pattern: get_*, list_*, ask_khalid, and search_site. All are lowercase with underscores and use clear, predictable verbs that match their purpose.

Tool Count5/5

Nine tools is well-scoped for a personal portfolio server. Each tool covers a meaningful aspect of the site's content or interaction, and none feel redundant or superfluous.

Completeness5/5

The surface covers the full portfolio experience: profile, resume, availability/contact, project listings with deep dives, writing listings with content retrieval, and whole-site search. No obvious dead ends or missing operations for the stated purpose.

Resources