portfolio-mcp
Marian Matinca's portfolio as MCP tools: projects, blog, profile, results. Read-only, RO+EN.
我该使用它吗
质量与安全性
发现(1)
- LOW在 portfolio_get_blog_post 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"portfolio-mcp": {
"url": "https://mmatinca.eu/mcp"
}
}
}远程端点
https://mmatinca.eu/mcpstreamable-http它能做什么
工具清单
工具(6)
🟢portfolio_list_projects(lang)
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.
输入模式
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"ro",
"en"
],
"default": "en",
"description": "Content language (all content exists in both en and ro)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢portfolio_get_project(id, lang)
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.
输入模式
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Id from portfolio_list_projects, e.g. \"digital-compass\""
},
"lang": {
"type": "string",
"enum": [
"ro",
"en"
],
"default": "en",
"description": "Content language (all content exists in both en and ro)"
}
},
"required": [
"id"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢portfolio_list_blog_posts(lang)
Articles published on the mmatinca.eu blog (enterprise AI adoption, automation, lessons from practice), newest first: slug, title, excerpt, date.
输入模式
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"ro",
"en"
],
"default": "en",
"description": "Content language (all content exists in both en and ro)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢portfolio_get_blog_post(slug, lang)
The full content (markdown) of one article by slug.
输入模式
{
"type": "object",
"properties": {
"slug": {
"type": "string",
"description": "Slug from portfolio_list_blog_posts"
},
"lang": {
"type": "string",
"enum": [
"ro",
"en"
],
"default": "en",
"description": "Content language (all content exists in both en and ro)"
}
},
"required": [
"slug"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢portfolio_get_profile(lang)
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.
输入模式
{
"type": "object",
"properties": {
"lang": {
"type": "string",
"enum": [
"ro",
"en"
],
"default": "en",
"description": "Content language (all content exists in both en and ro)"
}
},
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}🟢portfolio_search(query, lang, limit)
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.
输入模式
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 2,
"description": "Search terms, e.g. \"AI compliance projects\""
},
"lang": {
"type": "string",
"enum": [
"ro",
"en"
],
"default": "en",
"description": "Content language (all content exists in both en and ro)"
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 25,
"default": 5,
"description": "Maximum number of results"
}
},
"required": [
"query"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}社区
证据