portfolio-mcp
Server Details
Marian Matinca's portfolio as MCP tools: projects, blog, profile, results. Read-only, RO+EN.
- 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/5 across 5 of 5 tools scored.
Each tool has a distinct purpose: retrieving individual items (profile, blog post, project) or listing collections (blog posts, projects). There is no functional overlap.
All tools follow the consistent pattern 'portfolio_verb_noun' in snake_case, making the naming predictable and easy for agents to navigate.
Five tools is an ideal count for a portfolio MCP server, covering the essential operations without unnecessary bloat or missing coverage.
The tool set provides complete read-only access to the portfolio: listing and retrieving blog posts and projects, plus a profile endpoint. No obvious gaps for the stated purpose.
Available Tools
6 toolsportfolio_get_blog_postOne full blog articleARead-onlyIdempotentInspect
The full content (markdown) of one article by slug.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (all content exists in both en and ro) | en |
| slug | Yes | Slug from portfolio_list_blog_posts |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnly and idempotent hints; the description adds minimal behavioral context (markdown content) beyond what annotations convey.
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?
Single sentence with no wasted words, front-loaded essential information.
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 read tool with complete schema and good annotations, the description is sufficient. It states output format (markdown) but could mention what happens if slug not found.
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 describes both parameters fully; the description only echoes 'by slug' without adding new meaning. Schema coverage is 100%.
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 returns the full markdown content of one blog article identified by slug, distinguishing it from list and project tools.
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 slug is the key but does not explicitly guide when to use this tool versus siblings like portfolio_list_blog_posts or what to do with the output.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_get_profileProfessional profile: experience, certifications, resultsARead-onlyIdempotentInspect
Who Marian Matinca is: career history (roles at Weco-Travel Romania), certifications and the measurable results of his projects. Same data as shown on mmatinca.eu.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (all content exists in both en and ro) | en |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, idempotentHint=true, destructiveHint=false. Description adds context that the content includes career history, certifications, and results, and references an external website. No contradiction, but no additional disclosure beyond what's in annotations.
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?
Two sentences, front-loaded with 'Who Marian Matinca is', and efficiently conveys essential information without 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?
Given the tool's simplicity (one optional parameter, no output schema), the description adequately covers what the tool returns and references an external authoritative source. Could mention response structure or if there are any limits, but low complexity makes it fairly 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?
The single parameter lang is fully documented in the input schema with enum and default. Description adds no extra meaning beyond the schema, meeting the baseline for 100% schema coverage.
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 explicitly states the tool returns career history, certifications, and measurable results of Marian Matinca, clearly identifying the specific person and data. This distinguishes it from sibling tools like portfolio_get_blog_post or portfolio_get_project, which focus on blog posts or projects.
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 mentions the data is the same as on mmatinca.eu, implying it's the authoritative profile, but does not explicitly state when to use this tool versus alternatives (e.g., portfolio_search). No guidance on exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_get_projectFull details of one projectARead-onlyIdempotentInspect
One project by id: the problem it solves, the outcome, the long description (markdown, with relevant links — live site, GitHub where open source) and the list of technical details.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Id from portfolio_list_projects, e.g. "digital-compass" | |
| lang | No | Content language (all content exists in both en and ro) | en |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true, so the tool is safe and idempotent. The description adds value by detailing the return content (markdown, links, technical details) beyond what annotations provide.
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 front-loads the core purpose. It is efficient but could potentially be restructured for even clearer scanning.
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, the description adequately explains the return value. It covers key aspects like markdown format, links, and technical details. The annotations cover safety and side effects, leaving the description to focus on output.
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% and both parameters have descriptions. The description adds usage context for the 'id' parameter (e.g., comes from portfolio_list_projects, example 'digital-compass') and clarifies that 'lang' defaults to 'en' and content exists in both languages.
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 one project by ID and enumerates the returned fields (problem, outcome, markdown description with links, technical details). It distinguishes itself well from sibling portfolio_list_projects which returns a list.
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 use for fetching project details, but does not explicitly state when to use alternatives like portfolio_search or portfolio_list_projects. No exclusions or when-not-to-use guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_list_blog_postsList blog articlesARead-onlyIdempotentInspect
Articles published on the mmatinca.eu blog (enterprise AI adoption, automation, lessons from practice), newest first: slug, title, excerpt, date.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (all content exists in both en and ro) | en |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly, idempotent, and non-destructive behavior. Description adds ordering and returned fields, which is useful but not extensive. No contradictions.
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?
Single sentence, front-loaded with context (domain, ordering, fields). 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 simple list tool with one optional parameter and comprehensive annotations, the description is complete: it specifies returned fields, ordering, and language coverage. No output schema needed.
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 a single parameter 'lang' having enum and description. The description does not add new information beyond the schema, so baseline score of 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?
Description clearly states the tool lists blog articles from a specific blog, with fields (slug, title, excerpt, date) and ordering (newest first). It differentiates from sibling 'portfolio_get_blog_post' which likely retrieves a single post.
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 explicit guidance on when to use this tool versus siblings like 'portfolio_search' or 'portfolio_get_blog_post'. The purpose is clear from the description, but it lacks direct alternatives or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_list_projectsList portfolio projectsARead-onlyIdempotentInspect
All projects by Marian Matinca (AI Adoption Lead, Bucharest): id, title, category, one-line result, tags, live site. Call portfolio_get_project with {id} for full details.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (all content exists in both en and ro) | en |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive. Description adds specifics about the data (fields, author, location) and the relationship to get_project, going beyond what annotations convey.
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?
Two sentences: first states purpose and output fields, second provides actionable next step. No wasted words, front-loaded.
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 low complexity (1 optional param, no output schema, strong annotations), the description fully covers what the tool does, what it returns, and how to proceed for more details. No 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?
Only one parameter (lang) with full schema description. Description does not add additional meaning beyond the schema's own description, so baseline score of 3 applies.
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?
Description clearly states it lists portfolio projects by a specific author, enumerates returned fields, and guides to use portfolio_get_project for full details. Distinguishes from siblings effectively.
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?
Provides clear context on what the tool returns and explicitly directs to a sibling tool for more details, but does not state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
portfolio_searchSearch the whole portfolioARead-onlyIdempotentInspect
Single entry point: full-text search across projects, blog articles, experience, certifications and measurable results. Returns typed hits with a snippet and a URL; follow up with portfolio_get_project / portfolio_get_blog_post for full content.
| Name | Required | Description | Default |
|---|---|---|---|
| lang | No | Content language (all content exists in both en and ro) | en |
| limit | No | Maximum number of results | |
| query | Yes | Search terms, e.g. "AI compliance projects" |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint. The description adds behavioral context: full-text search across multiple types, returns typed hits with snippet and URL. No contradiction.
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?
Two sentences with no waste. The purpose is front-loaded, and every sentence adds value.
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?
No output schema, but the description explains the return format (typed hits, snippet, URL) and suggests follow-up tools. This is complete for a search tool given strong annotations.
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 clear descriptions for all 3 parameters. The description adds no further parameter details beyond implying the query is for full-text search, 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 'Search' and the resource 'whole portfolio', listing specific content types. It distinguishes from siblings by noting it is a single entry point and suggesting follow-up tools.
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 positions itself as a single entry point for search, implying first use. It explicitly names two sibling tools for follow-up, giving clear guidance on when to use alternatives.
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!