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.
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 3.7/5 across 4 of 4 tools scored.
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.
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.
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.
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 toolsbook_introAInspect
Book a project intro with Ruben. Relays the brief to his email.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Contact person's name | |
| agent | No | Calling agent (claude, chatgpt, kimi...) | |
| brief | Yes | What they want to build | |
| budget | No | Optional budget range | |
| contact | Yes | Email or Telegram handle |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| 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 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.
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.
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.
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.
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.
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.
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
- FlicenseAqualityBmaintenanceMCP 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
- Alicense-qualityBmaintenanceMCP 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
- Flicense-qualityDmaintenanceProvides structured tool access to Mario's portfolio data including skills, projects, experience, and services via 7 MCP tools.
- Flicense-qualityCmaintenanceAn 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.