Skip to main content
Glama

Ruben Marcus — Agent-Ready Portfolio

Server Details

Public portfolio MCP for resume, services, availability, project evidence, and introductions.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL
Repository
rubenmarcus/portfolio
GitHub Stars
16

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 3.7/5 across 4 of 4 tools scored.

Server CoherenceA
Disambiguation5/5

Each tool has a clearly distinct purpose: booking an intro, checking availability, fetching the resume, and listing services. There is no thematic overlap or ambiguity between them.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (book_intro, check_availability, get_resume, get_services). The naming is predictable and uniform.

Tool Count5/5

With exactly four tools, the server is tightly scoped for a personal portfolio site. Each tool addresses a distinct user need without redundancy or bloat.

Completeness5/5

The tool set covers the core interactions expected from a portfolio server: introduction booking, availability status, resume access, and services overview. No obvious missing functionality for the stated purpose.

Available Tools

4 tools
book_introAInspect

Book a project intro with Ruben. Relays the brief to his email.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesContact person's name
agentNoCalling agent (claude, chatgpt, kimi...)
briefYesWhat they want to build
budgetNoOptional budget range
contactYesEmail or Telegram handle
Behavior3/5

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

With no annotations, the description carries full burden. It discloses that the tool 'relays the brief to his email', indicating the key behavior. However, it doesn't discuss side effects like availability checks or confirmation, but given the simplicity, it provides basic transparency.

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?

The description is two concise sentences with no wasted words, and front-loads the primary action.

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

Completeness3/5

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

The tool is simple, but lacking an output schema and annotations, the description doesn't mention return values or prerequisites like checking availability first. It's adequate for a basic tool but leaves some contextual gaps.

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% with descriptions for all five parameters. The description doesn't add additional parameter semantics beyond the schema, so 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 clearly states the verb 'book' and resource 'project intro with Ruben', and distinguishes from sibling tools like check_availability and get_resume by indicating it initiates a booking rather than retrieving information.

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?

The description implies usage when a user wants to book a project intro, but it does not explicitly mention alternatives or when not to use it. Sibling tools exist but no exclusions are provided, so usage guidance is only implied.

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

check_availabilityAInspect

Current availability for full-time roles and freelance contracts.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

With no annotations, the description carries the behavioral disclosure burden. It does convey that this is an informational look at current status, and the scope (full-time/freelance) is useful, but it doesn't describe the response format or any side effects. For a zero-parameter status read, this is minimally adequate.

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?

The description is a single concise phrase that earns its place, stating the subject and scope without redundancy.

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?

Given the tool has no parameters, no output schema, and a straightforward status-checking purpose, the description is largely complete. It could optionally mention the response format or relation to booking, but this is not necessary for basic invocation.

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 input schema has no properties, so there are no parameters to document. The baseline for zero parameters is 4, and the description appropriately adds nothing about parameters.

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 as current availability for two specific engagement types (full-time and freelance), which sets expectations and differentiates from sibling tools focused on booking, resume, and services. It lacks an explicit action verb like 'check' or 'view,' but the meaning is unmistakable.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus the sibling tools. It doesn't state that it should be used before booking or how it relates to book_intro, get_resume, or get_services.

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

get_resumeAInspect

Ruben Marcus' full resume: summary, work experience, skills, proof points, open source projects, education, links, and a PDF CV URL.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior2/5

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

With no annotations provided, the description should disclose behavioral traits. It only lists the content of the resume and does not mention whether the data is static, how it is returned, or any limitations. The read-only nature is implied but not stated.

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?

The description is a single, concise sentence that efficiently lists the resume sections without waste.

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?

Given no output schema and zero parameters, the description fully specifies the expected return content by enumerating all major resume sections, making it complete for this simple tool.

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 input schema has zero properties, and the description clarifies that this is a fixed resource (Ruben's resume) requiring no input. Baseline for 0 params is 4, and the description is consistent with that.

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 clearly identifies the tool as returning Ruben Marcus' full resume and enumerates the sections included, distinguishing it from sibling tools like get_services or book_intro.

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

Usage Guidelines2/5

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

No guidance is given on when to use this tool versus alternatives. The usage context is only implied by the tool name and description, with no explicit when/when-not or alternative references.

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

get_servicesAInspect

Fixed-scope services Ruben sells, with one-line pitches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

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

No annotations are provided, so the description bears the full burden. It does disclose that the services are 'Fixed-scope', implying a static list with no dynamic search/filtering, and that each includes a 'one-line pitch'. However, it does not explicitly state that the tool is read-only or describe any side effects, though these are implied for a simple getter.

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?

The description is a single, compact sentence that front-loads the core purpose and adds valuable detail ('Fixed-scope', 'one-line pitches') without any wasted words. Every phrase contributes meaning, making it a model of conciseness.

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 simple tool with no parameters, no output schema, and no annotations, the description covers the essential information: what it returns (services) and a key characteristic (one-line pitches). It does not detail the exact list or format, but given the minimal complexity, the description is sufficiently complete for an agent to select and invoke the tool correctly.

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 has zero parameters, and the input schema is empty with 100% coverage (vacuously). Per the rubric, a baseline of 4 is appropriate when there are no parameters, since the description does not need to explain parameter semantics. The description adds no parameter information but that is not a gap.

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 clearly states the tool retrieves 'services Ruben sells', with a specific action ('get') and resource (services). It distinguishes from siblings like book_intro, check_availability, and get_resume by focusing solely on service offerings. The addition of 'Fixed-scope' and 'one-line pitches' further clarifies the nature of the output.

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

Usage Guidelines2/5

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

The description provides no explicit guidance on when to use this tool over alternatives. It does not mention when to avoid it or reference sibling tools. The context signals show sibling tools (e.g., book_intro, check_availability) but the description fails to differentiate usage scenarios, leaving the agent to infer.

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

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    A
    quality
    B
    maintenance
    MCP server that exposes a resume as callable tools and resources, enabling AI agents to query experience, skills, projects, and contact information via natural language.
    3
  • A
    license
    -
    quality
    B
    maintenance
    MCP server for exploring a software developer's portfolio: lists projects, semantically searches code, explains architecture, summarizes READMEs, and answers questions through a natural-language agent, with a built-in web playground.
    MIT
  • F
    license
    -
    quality
    C
    maintenance
    An MCP server that provides a structured API for AI agents to query a person's resume, including profile, projects, writing, and gated access to experience and skills.

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.