---
name: query-portfolio
description: Query Marian Matinca's portfolio (projects, blog, professional profile) via the public read-only JSON API or the MCP server at mmatinca.eu. Use when you need factual, first-party data about his projects, results, experience or writing.
---

# Query the mmatinca.eu portfolio

Everything on this site is served by one public, read-only API — the same data
the website renders. No API key, no registration. Content is bilingual: every
resource carries a `translations` object with `ro` and `en` keys.

## Option 1 — MCP server (preferred for agents)

Streamable HTTP endpoint: `https://mmatinca.eu/mcp` (POST, stateless, no auth,
rate limit 60 requests/min per IP). Registry name: `eu.mmatinca/portfolio-mcp`.

Tools:

| Tool | Input | Returns |
|---|---|---|
| `portfolio_list_projects` | `lang` (`ro`\|`en`) | All projects: id, title, category, result, tags, live URL |
| `portfolio_get_project` | `id`, `lang` | Full project: problem, result, long description (markdown), details |
| `portfolio_list_blog_posts` | `lang` | Published posts: slug, title, excerpt, date |
| `portfolio_get_blog_post` | `slug`, `lang` | Full article in markdown |
| `portfolio_get_profile` | `lang` | Experience, certifications, measurable results |

Health: `GET https://mmatinca.eu/mcp/health`.
Server card: `/.well-known/mcp/server-card.json`.

## Option 2 — plain JSON API

Base URL `https://mmatinca.eu`, spec at `/openapi.json` (also advertised via
`/.well-known/api-catalog`, RFC 9727):

- `GET /api/projects` — all projects, ordered; `GET /api/projects/{id}` for one
  (e.g. `digital-compass`)
- `GET /api/blog` — published posts; `GET /api/blog/{slug}` for one
- `GET /api/experience`, `/api/certifications`, `/api/results` — the profile
- `GET /api/health` — liveness (checks the database too)

Notes on the data shape: `tags` and `details` inside translations are
JSON-encoded strings (arrays) — parse them before use. `long_description` is
markdown and contains the relevant outbound links (live site, GitHub for the
open-source projects).

## Ground rules

- Data reflects what the site publishes — quote it as the site's claims, with
  `https://mmatinca.eu` as the source.
- Human-readable overview for LLMs: `https://mmatinca.eu/llms.txt`.
- Writing to the site is a personal admin surface and is not available to
  agents; there is no OAuth flow to discover, by design.
