{"schemaVersion":"1.0","generatedAt":"2026-10-23T01:13:15.752Z","serverInfo":{"name":"nikolajewdesign-portfolio-mcp","title":"Portfolio MCP | Benjamin Nikolajew","version":"2.0.0","versionType":"mcp-server-semver","portfolioAgentBaseline":"1.3","description":"Explore Benjamin Nikolajew's graphic design portfolio with natural language.","websiteUrl":"https://www.nikolajewdesign.ca","icons":[{"src":"https://www.nikolajewdesign.ca/assets/favicons/portfolio/icon-192x192.png","mimeType":"image/png","sizes":["192x192"]},{"src":"https://www.nikolajewdesign.ca/assets/favicons/portfolio/icon-512x512.png","mimeType":"image/png","sizes":["512x512"]}],"mcpToolCount":26,"versionContract":{"model":"split","mcpServerSemver":"2.0.0","mcpServerVersionField":"serverInfo.version","portfolioAgentProduct":"Portfolio Agent","portfolioAgentBaseline":"1.3","note":"MCP semver remains package metadata; the unified Agent / MCP line is the operator-facing product/runtime version."},"webmcpContract":{"schemaVersion":"1.0","mcpServerSemver":"2.0.0","toolCount":25,"schemaFingerprint":"33be0b75"}},"versionContract":{"model":"split","mcpServerSemver":"2.0.0","mcpServerVersionField":"serverInfo.version","portfolioAgentProduct":"Portfolio Agent","portfolioAgentBaseline":"1.3","note":"MCP semver remains package metadata; the unified Agent / MCP line is the operator-facing product/runtime version."},"endpoints":{"mcp":"https://portfolio-mcp-dqj0.onrender.com/mcp","health":"https://portfolio-mcp-dqj0.onrender.com/healthz","metadata":"https://portfolio-mcp-dqj0.onrender.com/metadata","wellKnown":"https://portfolio-mcp-dqj0.onrender.com/.well-known/mcp.json"},"transport":{"mode":"streamable-http-stateless","path":"/mcp"},"authentication":{"required":false,"type":"none"},"appSetupDefaults":{"name":"Portfolio MCP | Benjamin Nikolajew","description":"Explore Benjamin Nikolajew's graphic design portfolio with natural language.","websiteUrl":"https://www.nikolajewdesign.ca","icons":[{"src":"https://www.nikolajewdesign.ca/assets/favicons/portfolio/icon-192x192.png","mimeType":"image/png","sizes":["192x192"]},{"src":"https://www.nikolajewdesign.ca/assets/favicons/portfolio/icon-512x512.png","mimeType":"image/png","sizes":["512x512"]}]},"tools":[{"name":"get_brand_kit","title":"Get Brand Kit","description":"Returns the first-party Nikolajew Design identity, logo, color, typography, icon, and imagery system with citations and documented usage guidelines."},{"name":"get_music","title":"Get Music","description":"Returns the first-party music catalog, a full album, or one track with direct audio links, production context, citations, and creator-declared AI involvement."},{"name":"list_portfolio_projects","title":"List Portfolio Projects","description":"Returns 21 curated portfolio projects, with filters and ranked visual previews. Use get_music for Benjamin’s music catalog and Working Title."},{"name":"get_project_by_slug","title":"Get Project By Slug","description":"Returns full structured portfolio project data by slug with citation/provenance and ranked visual highlights."},{"name":"search_project_notes","title":"Search Project Notes","description":"Searches project narrative fields and returns ranked excerpts with citation URLs and visual highlights."},{"name":"get_project_artwork_gallery","title":"Get Project Artwork Gallery","description":"Returns thumbnail plus 3-5 ranked artwork images for one named project or category by default, or up to three when limitProjects is supplied. Unanchored requests return a clarification rather than an arbitrary project."},{"name":"get_project_followup_detail","title":"Get Project Follow-up Detail","description":"Returns one best-matched project deep-dive for follow-up questions with focus highlights, visual context, and citation-backed signals. Use focus: overview, design, process, impact (outcomes alias), or tooling."},{"name":"get_professional_profile","title":"Get Professional Profile","description":"Returns deterministic profile, contact, process, and capability-limit signals."},{"name":"get_agent_capabilities","title":"Get Agent Capabilities","description":"Returns grounded Portfolio Agent explainer content, current owner role, supported capability lanes, mapped MCP tools, and limits."},{"name":"get_career_timeline","title":"Get Career Timeline","description":"Returns citation-backed career milestones with optional query/company filtering."},{"name":"get_career_role_detail","title":"Get Career Role Detail","description":"Returns a focused, citation-backed deep-dive for one role/company with factual signals for impact, deliverables, collaboration, and tooling. detailLevel accepts summary, detailed, or full (alias for detailed)."},{"name":"get_profile_fact_pack","title":"Get Profile Fact Pack","description":"Returns long-tail profile facts plus structured skills, tool stack, and languages from first-party resume data."},{"name":"get_career_role_comparison","title":"Get Career Role Comparison","description":"Returns side-by-side comparison for two roles/companies using first-party employment history. Partial requests preserve the known side and ask for the other one."},{"name":"get_career_certificates","title":"Get Career Certificates","description":"Returns documented certificates with issuer, credential IDs, skills, and verification links."},{"name":"get_career_education","title":"Get Career Education","description":"Returns education history entries with program focus and source links."},{"name":"get_download_documents","title":"Get Download Documents","description":"Returns first-party resume and mini-portfolio download documents with grounded local file metadata; remote availability and freshness are not checked at request time."},{"name":"get_download_assets","title":"Get Download Assets","description":"Returns resume/CV and mini-portfolio download links plus online profile assets; remote availability and freshness are not checked at request time."},{"name":"get_first_party_context","title":"Get First-Party Context","description":"Returns cited first-party sections spanning profile, projects, The Ephemera Digital Collection, its support path, Portfolio MCP setup, and contact guidance."},{"name":"get_changelog","title":"Get Changelog","description":"Returns the first-party Portfolio release history with exact/latest/all version selection, date/category filters, complete Added/Changed/Fixed/Notes details, and stable cursor pagination."},{"name":"search_first_party_context","title":"Search First-Party Context","description":"Searches first-party context including Ephemera, donations, Portfolio MCP setup/build details, and returns ranked excerpts with citation URLs."},{"name":"fetch_curated_page_context","title":"Fetch Curated Page Context","description":"Fetches approved first-party or official-domain HTML pages for page-level evidence. Accepts query plus urls, or legacy url/urls without query when an allowlisted URL is supplied; explicit URLs select pages and a supplied query ranks their snippets. Changelog rows support bounded rowLimit/rowOffset pagination."},{"name":"search_allowed_external_domains","title":"Search Allowed External Domains","description":"Searches approved owned or official public domains only when request-scoped external support is available; otherwise returns a truthful zero-result response without a network request."},{"name":"get_social_profiles","title":"Get Social Profiles","description":"Returns social profile links with handles, icon keys, and citation-backed metadata."},{"name":"get_privacy_policy","title":"Get Privacy Policy","description":"Returns grounded privacy and data-handling answers (collection, prompt processing, providers, security, retention, rights) with a direct link to the full privacy policy."},{"name":"get_contact_email","title":"Get Contact Email","description":"Returns the canonical email contact with mailto URL and citation source."},{"name":"get_about_resume","title":"Get About Resume","description":"Returns a condensed profile card payload with current role, concise skills, profile image, and proactive actions."}]}