{"server":"io.github.fmind/portfolio","count":10,"tools":[{"name":"compare_llm_hosting","title":"Compare LLM hosting costs","description":"Compare a GKE infrastructure budget with managed APIs. Call with parameters={} for defaults and supported models, hardware, and plans. Simple mode accepts preset, model, billing, requests (calls/day), and window (auto, 24, 8, or 1 hour/day); set mode=simple when overriding requests. It sizes replicas under illustrative throughput assumptions. Interactive presets run 24/7; job and pipeline presets schedule running hours inside active windows. Commitments bill idle hours. Advanced mode keeps the fleet fixed and exposes custom token budgets, throughput, and running time. Break-even holds that fleet fixed and checks its capacity. Totals include compute and GKE; operations and additional services are excluded. Returns assumptions, USD costs, constraints, sources, and a shareable URL. Invalid inputs fail; no resources are provisioned. See /agents#calculator.","input_schema":{"type":"object","title":"compare_llm_hostingArguments","required":["parameters"],"properties":{"parameters":{"type":"object","title":"Parameters","description":"Calculator URL parameters as strings; use an empty object for defaults and available choices.","maxProperties":64,"propertyNames":{"maxLength":64},"additionalProperties":{"type":"string","maxLength":128}}}},"output_schema":{"type":"object","$defs":{"APIMode":{"enum":["standard","batch","cached"],"type":"string","title":"APIMode"},"NodePrice":{"type":"object","title":"NodePrice","required":["plan","label","hourly_usd"],"properties":{"plan":{"$ref":"#/$defs/BillingPlan"},"label":{"type":"string","title":"Label"},"hourly_usd":{"type":"number","title":"Hourly Usd"}}},"APIBaseline":{"type":"object","title":"APIBaseline","required":["name","input_per_million","output_per_million","cache_read_per_million","cache_write_per_million","cache_storage_per_million_hour","cache_minimum","source_url","cache_url","verified_on","review_on","valid_through","note","input_token_limit","output_token_limit"],"properties":{"name":{"type":"string","title":"Name"},"note":{"type":"string","title":"Note"},"cache_url":{"type":"string","title":"Cache Url"},"review_on":{"type":"string","title":"Review On"},"source_url":{"type":"string","title":"Source Url"},"verified_on":{"type":"string","title":"Verified On"},"cache_minimum":{"type":"number","title":"Cache Minimum"},"valid_through":{"type":"string","title":"Valid Through"},"input_per_million":{"type":"number","title":"Input Per Million"},"input_token_limit":{"type":"integer","title":"Input Token Limit"},"output_per_million":{"type":"number","title":"Output Per Million"},"output_token_limit":{"type":"integer","title":"Output Token Limit"},"context_token_limit":{"type":"integer","title":"Context Token Limit","default":0},"cache_read_per_million":{"type":"number","title":"Cache Read Per Million"},"cache_write_per_million":{"type":"number","title":"Cache Write Per Million"},"cache_storage_per_million_hour":{"type":"number","title":"Cache Storage Per Million Hour"}}},"BillingPlan":{"enum":["on-demand","cud-1y","cud-3y","flex"],"type":"string","title":"BillingPlan"},"GKENodePool":{"type":"object","title":"GKENodePool","required":["id","name","gpu","gpu_count","vram_gb","prices","operational"],"properties":{"id":{"type":"string","title":"Id"},"gpu":{"type":"string","title":"Gpu"},"name":{"type":"string","title":"Name"},"prices":{"type":"array","items":{"$ref":"#/$defs/NodePrice"},"title":"Prices"},"vram_gb":{"type":"number","title":"Vram Gb"},"gpu_count":{"type":"integer","title":"Gpu Count"},"multi_host":{"type":"boolean","title":"Multi Host","default":false},"operational":{"type":"string","title":"Operational"}}},"TaskQuality":{"type":"object","title":"TaskQuality","required":["acceptance_percent","calls_per_task","review_minutes"],"properties":{"calls_per_task":{"type":"number","title":"Calls Per Task"},"review_minutes":{"type":"number","title":"Review Minutes"},"acceptance_percent":{"type":"number","title":"Acceptance Percent"}}},"DemandPreset":{"type":"object","title":"DemandPreset","required":["id","name","description","requests_per_day","active_days","input_tokens","output_tokens"],"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"scheduled":{"type":"boolean","title":"Scheduled","default":false},"active_days":{"type":"number","title":"Active Days"},"description":{"type":"string","title":"Description"},"input_tokens":{"type":"number","title":"Input Tokens"},"window_hours":{"type":"number","title":"Window Hours","default":24},"output_tokens":{"type":"number","title":"Output Tokens"},"requests_per_day":{"type":"number","title":"Requests Per Day"}}},"Quantization":{"type":"object","title":"Quantization","required":["id","name","bytes_per_param","guidance"],"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"guidance":{"type":"string","title":"Guidance"},"bytes_per_param":{"type":"number","title":"Bytes Per Param"}}},"APIComparison":{"type":"object","title":"APIComparison","required":["baseline","monthly_usd","cache_overhead_usd","per_thousand_requests_usd","break_even_requests","break_even_fits","mode_note","request_issue"],"properties":{"baseline":{"$ref":"#/$defs/APIBaseline"},"freshness":{"type":"string","title":"Freshness","default":""},"mode_note":{"type":"string","title":"Mode Note"},"monthly_usd":{"type":"number","title":"Monthly Usd"},"needs_review":{"type":"boolean","title":"Needs Review","default":false},"request_issue":{"type":"string","title":"Request Issue"},"break_even_fits":{"type":"boolean","title":"Break Even Fits"},"cache_overhead_usd":{"type":"number","title":"Cache Overhead Usd"},"break_even_requests":{"type":"number","title":"Break Even Requests"},"per_thousand_requests_usd":{"type":"number","title":"Per Thousand Requests Usd"}}},"FrontierModel":{"type":"object","title":"FrontierModel","required":["id","name","creator","parameters_b","active_parameters","context_tokens","license","license_class","weights_url"],"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"creator":{"type":"string","title":"Creator"},"license":{"type":"string","title":"License"},"recipe_url":{"type":"string","title":"Recipe Url","default":""},"weights_url":{"type":"string","title":"Weights Url"},"parameters_b":{"type":"number","title":"Parameters B"},"license_class":{"type":"string","title":"License Class"},"node_minimums":{"type":"array","items":{"type":"array","maxItems":2,"minItems":2,"prefixItems":[{"type":"string"},{"type":"integer"}]},"title":"Node Minimums","default":[]},"context_tokens":{"type":"integer","title":"Context Tokens"},"checkpoint_urls":{"type":"array","items":{"type":"array","maxItems":2,"minItems":2,"prefixItems":[{"type":"string"},{"type":"string"}]},"title":"Checkpoint Urls","default":[]},"deployment_issue":{"type":"string","title":"Deployment Issue","default":""},"active_parameters":{"type":"number","title":"Active Parameters"},"checkpoint_memory":{"type":"array","items":{"type":"array","maxItems":2,"minItems":2,"prefixItems":[{"type":"string"},{"type":"number"}]},"title":"Checkpoint Memory","default":[]},"required_node_ids":{"type":"array","items":{"type":"string"},"title":"Required Node Ids","default":[]},"node_context_limits":{"type":"array","items":{"type":"array","maxItems":2,"minItems":2,"prefixItems":[{"type":"string"},{"type":"integer"}]},"title":"Node Context Limits","default":[]},"default_quantization":{"type":"string","title":"Default Quantization","default":"fp16"},"supported_quantizations":{"type":"array","items":{"type":"string"},"title":"Supported Quantizations","default":["fp4","fp8","fp16"]}}},"HostingInputs":{"type":"object","title":"HostingInputs","required":["model_id","node_pool_id","quantization_id","replicas","duty_cycle_percent","memory_overhead_pct","tokens_per_second","target_utilization","output_tokens_request","input_tokens_request","requests_per_day","active_days","demand_window_hours","api_mode","cache_prefix_tokens","cache_requests","concurrency","target_first_token","target_completion","measured_concurrency","measured_first_token","measured_completion","tasks_per_month","review_hourly_usd","quality","quality_enabled"],"properties":{"mode":{"type":"string","title":"Mode","default":"advanced"},"quality":{"type":"array","items":{"$ref":"#/$defs/TaskQuality"},"title":"Quality"},"api_mode":{"$ref":"#/$defs/APIMode"},"model_id":{"type":"string","title":"Model Id"},"replicas":{"type":"integer","title":"Replicas"},"active_days":{"type":"number","title":"Active Days"},"concurrency":{"type":"integer","title":"Concurrency"},"billing_plan":{"$ref":"#/$defs/BillingPlan","default":"on-demand"},"node_pool_id":{"type":"string","title":"Node Pool Id"},"pilot_config":{"type":"string","title":"Pilot Config","default":""},"cache_requests":{"type":"integer","title":"Cache Requests"},"quality_enabled":{"type":"boolean","title":"Quality Enabled"},"quantization_id":{"type":"string","title":"Quantization Id"},"tasks_per_month":{"type":"number","title":"Tasks Per Month"},"requests_per_day":{"type":"number","title":"Requests Per Day"},"review_hourly_usd":{"type":"number","title":"Review Hourly Usd"},"target_completion":{"type":"number","title":"Target Completion"},"tokens_per_second":{"type":"number","title":"Tokens Per Second"},"duty_cycle_percent":{"type":"number","title":"Duty Cycle Percent"},"target_first_token":{"type":"number","title":"Target First Token"},"target_utilization":{"type":"number","title":"Target Utilization"},"cache_prefix_tokens":{"type":"number","title":"Cache Prefix Tokens"},"demand_window_hours":{"type":"number","title":"Demand Window Hours"},"measured_completion":{"type":"number","title":"Measured Completion"},"memory_overhead_pct":{"type":"number","title":"Memory Overhead Pct"},"input_tokens_request":{"type":"number","title":"Input Tokens Request"},"measured_concurrency":{"type":"integer","title":"Measured Concurrency"},"measured_first_token":{"type":"number","title":"Measured First Token"},"output_tokens_request":{"type":"number","title":"Output Tokens Request"}}},"TaskComparison":{"type":"object","title":"TaskComparison","required":["id","name","quality","requests","accepted","model_usd","review_usd","per_accepted_usd","fits","request_issue"],"properties":{"id":{"type":"string","title":"Id"},"fits":{"type":"boolean","title":"Fits"},"name":{"type":"string","title":"Name"},"quality":{"$ref":"#/$defs/TaskQuality"},"accepted":{"type":"number","title":"Accepted"},"requests":{"type":"number","title":"Requests"},"model_usd":{"type":"number","title":"Model Usd"},"review_usd":{"type":"number","title":"Review Usd"},"request_issue":{"type":"string","title":"Request Issue"},"per_accepted_usd":{"type":"number","title":"Per Accepted Usd"}}},"HostingEstimate":{"type":"object","title":"HostingEstimate","required":["weight_memory_gb","required_memory_gb","nodes_per_replica","total_nodes","total_gpus","compute_monthly_usd","control_monthly_usd","total_monthly_usd","capacity_tokens_month","capacity_requests_day","requests_month","input_tokens_month","output_tokens_month","demand_capacity_pct","window_capacity_pct","required_output_tokens_per_second","usable_output_tokens_per_second","capacity_requests_month","per_thousand_requests_usd","demand_fits","context_issue","topology_confirmed","qualified","compatibility_issue","daily_demand_fits"],"properties":{"qualified":{"type":"boolean","title":"Qualified"},"total_gpus":{"type":"integer","title":"Total Gpus"},"demand_fits":{"type":"boolean","title":"Demand Fits"},"total_nodes":{"type":"integer","title":"Total Nodes"},"context_issue":{"type":"string","title":"Context Issue"},"requests_month":{"type":"number","title":"Requests Month"},"weight_memory_gb":{"type":"number","title":"Weight Memory Gb"},"daily_demand_fits":{"type":"boolean","title":"Daily Demand Fits"},"nodes_per_replica":{"type":"integer","title":"Nodes Per Replica"},"total_monthly_usd":{"type":"number","title":"Total Monthly Usd"},"input_tokens_month":{"type":"number","title":"Input Tokens Month"},"required_memory_gb":{"type":"number","title":"Required Memory Gb"},"topology_confirmed":{"type":"boolean","title":"Topology Confirmed"},"compatibility_issue":{"type":"string","title":"Compatibility Issue"},"compute_monthly_usd":{"type":"number","title":"Compute Monthly Usd"},"control_monthly_usd":{"type":"number","title":"Control Monthly Usd"},"demand_capacity_pct":{"type":"number","title":"Demand Capacity Pct"},"output_tokens_month":{"type":"number","title":"Output Tokens Month"},"window_capacity_pct":{"type":"number","title":"Window Capacity Pct"},"capacity_requests_day":{"type":"number","title":"Capacity Requests Day"},"capacity_tokens_month":{"type":"number","title":"Capacity Tokens Month"},"capacity_requests_month":{"type":"integer","title":"Capacity Requests Month"},"per_thousand_requests_usd":{"type":"number","title":"Per Thousand Requests Usd"},"usable_output_tokens_per_second":{"type":"number","title":"Usable Output Tokens Per Second"},"required_output_tokens_per_second":{"type":"number","title":"Required Output Tokens Per Second"}}},"ModelComparison":{"type":"object","title":"ModelComparison","required":["model","estimate","decision"],"properties":{"model":{"$ref":"#/$defs/FrontierModel"},"decision":{"type":"string","title":"Decision"},"estimate":{"$ref":"#/$defs/HostingEstimate"}}},"PrecisionComparison":{"type":"object","title":"PrecisionComparison","required":["quantization","estimate","node","url"],"properties":{"url":{"type":"string","title":"Url"},"node":{"$ref":"#/$defs/GKENodePool"},"estimate":{"$ref":"#/$defs/HostingEstimate"},"quantization":{"$ref":"#/$defs/Quantization"}}}},"title":"HostingResult","required":["scenario_url","parameters","inputs","estimate","apis","models","node_pools","quantizations","presets","model_comparisons","precision_comparisons","tasks","comparison_ready","validation","latency","pilot_configuration","calculated_on","snapshot_date","sources","units","limitations"],"properties":{"apis":{"type":"array","items":{"$ref":"#/$defs/APIComparison"},"title":"Apis"},"tasks":{"type":"array","items":{"$ref":"#/$defs/TaskComparison"},"title":"Tasks"},"units":{"type":"object","title":"Units","additionalProperties":{"type":"string"}},"inputs":{"$ref":"#/$defs/HostingInputs"},"models":{"type":"array","items":{"$ref":"#/$defs/FrontierModel"},"title":"Models"},"latency":{"type":"string","title":"Latency"},"presets":{"type":"array","items":{"$ref":"#/$defs/DemandPreset"},"title":"Presets"},"sources":{"type":"object","title":"Sources","additionalProperties":{"type":"string"}},"estimate":{"$ref":"#/$defs/HostingEstimate"},"node_pools":{"type":"array","items":{"$ref":"#/$defs/GKENodePool"},"title":"Node Pools"},"parameters":{"type":"object","title":"Parameters","additionalProperties":{"type":"string"}},"validation":{"type":"array","items":{"type":"string"},"title":"Validation"},"limitations":{"type":"array","items":{"type":"string"},"title":"Limitations"},"scenario_url":{"type":"string","title":"Scenario Url"},"calculated_on":{"type":"string","title":"Calculated On"},"quantizations":{"type":"array","items":{"$ref":"#/$defs/Quantization"},"title":"Quantizations"},"snapshot_date":{"type":"string","title":"Snapshot Date"},"comparison_ready":{"type":"boolean","title":"Comparison Ready"},"model_comparisons":{"type":"array","items":{"$ref":"#/$defs/ModelComparison"},"title":"Model Comparisons"},"pilot_configuration":{"type":"string","title":"Pilot Configuration"},"precision_comparisons":{"type":"array","items":{"$ref":"#/$defs/PrecisionComparison"},"title":"Precision Comparisons"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"compare_mcp_context_cost","title":"Compare MCP context costs","description":"Count the tool-definition tokens that measured MCP servers (GitHub default toolset, Filesystem, Memory, Playwright) add to every model request, then price them as standard input for the managed APIs in the hosting snapshot. Omit servers for all four. Returns tokens per request and month, context share and USD per 1,000 requests and per 30-day month for each model, dated sources, limitations and a shareable page URL. Reference tokens, not provider billing. See /agents#mcp-context.","input_schema":{"type":"object","title":"compare_mcp_context_costArguments","properties":{"servers":{"anyOf":[{"type":"array","items":{"enum":["github","filesystem","memory","playwright"],"type":"string"},"maxItems":4,"minItems":1},{"type":"null"}],"title":"Servers","default":null,"description":"Distinct server ids; omit for all."},"requests_per_day":{"type":"integer","title":"Requests Per Day","default":1000,"maximum":10000000,"minimum":1,"description":"Model requests per day; count every call in agent loops."}}},"output_schema":{"type":"object","$defs":{"ModelCost":{"type":"object","title":"ModelCost","required":["name","input_per_million","input_token_limit","context_percent","per_thousand_requests_usd","month_usd","source_url","verified_on","needs_review"],"properties":{"name":{"type":"string","title":"Name"},"month_usd":{"type":"number","title":"Month Usd"},"source_url":{"type":"string","title":"Source Url"},"verified_on":{"type":"string","title":"Verified On"},"needs_review":{"type":"boolean","title":"Needs Review"},"context_percent":{"type":"number","title":"Context Percent"},"input_per_million":{"type":"number","title":"Input Per Million"},"input_token_limit":{"type":"integer","title":"Input Token Limit"},"per_thousand_requests_usd":{"type":"number","title":"Per Thousand Requests Usd"}}},"ServerSnapshot":{"type":"object","title":"ServerSnapshot","required":["id","name","version","tools","tokens","measured_on","source_url","evidence_url","evidence_label","note"],"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"note":{"type":"string","title":"Note"},"tools":{"type":"integer","title":"Tools"},"tokens":{"type":"integer","title":"Tokens"},"version":{"type":"string","title":"Version"},"source_url":{"type":"string","title":"Source Url"},"measured_on":{"type":"string","title":"Measured On"},"evidence_url":{"type":"string","title":"Evidence Url"},"evidence_label":{"type":"string","title":"Evidence Label"}}}},"title":"ContextResult","required":["servers","requests_per_day","days_per_month","tools","tokens_per_request","tokens_per_month","models","scenario_url","snapshot_verified_on","prices_checked_on","limitations"],"properties":{"tools":{"type":"integer","title":"Tools"},"models":{"type":"array","items":{"$ref":"#/$defs/ModelCost"},"title":"Models"},"servers":{"type":"array","items":{"$ref":"#/$defs/ServerSnapshot"},"title":"Servers"},"limitations":{"type":"array","items":{"type":"string"},"title":"Limitations"},"scenario_url":{"type":"string","title":"Scenario Url"},"days_per_month":{"type":"integer","title":"Days Per Month"},"requests_per_day":{"type":"integer","title":"Requests Per Day"},"tokens_per_month":{"type":"integer","title":"Tokens Per Month"},"prices_checked_on":{"type":"string","title":"Prices Checked On"},"tokens_per_request":{"type":"integer","title":"Tokens Per Request"},"snapshot_verified_on":{"type":"string","title":"Snapshot Verified On"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"get_article","title":"Read an article","description":"Read a public article's complete Markdown, dates, canonical URL, and hosted section links. Use a slug from search_articles; unknown and draft articles are unavailable.","input_schema":{"type":"object","title":"get_articleArguments","required":["slug"],"properties":{"slug":{"type":"string","title":"Slug","pattern":"^[a-z0-9]+(?:-[a-z0-9]+)*$","maxLength":200,"minLength":1}}},"output_schema":{"type":"object","$defs":{"ArticleSummary":{"type":"object","title":"ArticleSummary","required":["date","updated","title","description","slug","url","image_url","image_alt","tags","reading_minutes"],"properties":{"url":{"type":"string","title":"Url"},"date":{"type":"string","title":"Date","format":"date-time"},"slug":{"type":"string","title":"Slug"},"tags":{"type":"array","items":{"type":"string"},"title":"Tags"},"title":{"type":"string","title":"Title"},"updated":{"type":"string","title":"Updated","format":"date-time"},"canonical":{"type":"string","title":"Canonical","default":""},"image_alt":{"type":"string","title":"Image Alt"},"image_url":{"type":"string","title":"Image Url"},"syndicated":{"type":"string","title":"Syndicated","default":""},"description":{"type":"string","title":"Description"},"reading_minutes":{"type":"integer","title":"Reading Minutes"}}}},"title":"ArticleResult","required":["article","canonical_url","markdown","sections"],"properties":{"article":{"$ref":"#/$defs/ArticleSummary"},"markdown":{"type":"string","title":"Markdown"},"sections":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"title":"Sections"},"canonical_url":{"type":"string","title":"Canonical Url"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"get_profile","title":"Get profile","description":"Return the core profile: identity, headline, job title, contact, socials, biography, and areas of expertise.","input_schema":{"type":"object","title":"get_profileArguments","properties":{}},"output_schema":{"type":"object","$defs":{"Metadata":{"type":"object","title":"Metadata","required":["name","alternate_name","site_name","title","job_title","headline_primary","headline_secondary","description","keywords","email","calendar_url","site_url","twitter_handle","google_analytics_id","socials","work_location"],"properties":{"name":{"type":"string","title":"Name"},"email":{"type":"string","title":"Email"},"title":{"type":"string","title":"Title"},"socials":{"type":"array","items":{"$ref":"#/$defs/SocialLink"},"title":"Socials"},"keywords":{"type":"array","items":{"type":"string"},"title":"Keywords"},"site_url":{"type":"string","title":"Site Url"},"job_title":{"type":"string","title":"Job Title"},"site_name":{"type":"string","title":"Site Name"},"description":{"type":"string","title":"Description"},"calendar_url":{"type":"string","title":"Calendar Url"},"work_location":{"type":"string","title":"Work Location"},"alternate_name":{"type":"string","title":"Alternate Name"},"twitter_handle":{"type":"string","title":"Twitter Handle"},"headline_primary":{"type":"string","title":"Headline Primary"},"headline_secondary":{"type":"string","title":"Headline Secondary"},"google_analytics_id":{"type":"string","title":"Google Analytics Id"}}},"SocialLink":{"type":"object","title":"SocialLink","required":["name","url","icon"],"properties":{"url":{"type":"string","title":"Url"},"icon":{"type":"string","title":"Icon"},"name":{"type":"string","title":"Name"},"header":{"type":"boolean","title":"Header","default":false}}},"ExpertiseCard":{"type":"object","title":"ExpertiseCard","required":["title","emoji","description"],"properties":{"emoji":{"type":"string","title":"Emoji"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}}},"LeadershipRole":{"type":"object","title":"LeadershipRole","required":["role","organization","description","url"],"properties":{"url":{"type":"string","title":"Url"},"role":{"type":"string","title":"Role"},"description":{"type":"string","title":"Description"},"organization":{"type":"string","title":"Organization"}}}},"title":"ProfileResult","required":["metadata","biography","leadership","expertise"],"properties":{"metadata":{"$ref":"#/$defs/Metadata"},"biography":{"type":"array","items":{"type":"string"},"title":"Biography"},"expertise":{"type":"array","items":{"$ref":"#/$defs/ExpertiseCard"},"title":"Expertise"},"leadership":{"type":"array","items":{"$ref":"#/$defs/LeadershipRole"},"title":"Leadership"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"get_services","title":"Get professional services","description":"List the professional services on offer (AI architecture advisory and mentoring) with availability and how to book.","input_schema":{"type":"object","title":"servicesArguments","properties":{}},"output_schema":{"type":"object","$defs":{"Service":{"type":"object","title":"Service","required":["icon","title","description","badge","badge_type","cta_text","cta_url"],"properties":{"icon":{"type":"string","title":"Icon"},"badge":{"type":"string","title":"Badge"},"title":{"type":"string","title":"Title"},"cta_url":{"type":"string","title":"Cta Url"},"cta_text":{"type":"string","title":"Cta Text"},"badge_type":{"type":"string","title":"Badge Type"},"description":{"type":"string","title":"Description"}}}},"title":"ServicesResult","required":["services"],"properties":{"services":{"type":"array","items":{"$ref":"#/$defs/Service"},"title":"Services"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"list_certifications","title":"List credentials","description":"List professional certifications, badges, and course specializations with their issuers.","input_schema":{"type":"object","title":"list_certificationsArguments","properties":{}},"output_schema":{"type":"object","$defs":{"CertificationBadge":{"type":"object","title":"CertificationBadge","required":["url","logo","title","issuer","cert_id","active"],"properties":{"url":{"type":"string","title":"Url"},"logo":{"type":"string","title":"Logo"},"title":{"type":"string","title":"Title"},"active":{"type":"boolean","title":"Active"},"issuer":{"type":"string","title":"Issuer"},"cert_id":{"type":"string","title":"Cert Id"}}},"CertificationEntry":{"type":"object","title":"CertificationEntry","required":["url","logo","title","issuer_details"],"properties":{"url":{"type":"string","title":"Url"},"logo":{"type":"string","title":"Logo"},"title":{"type":"string","title":"Title"},"issuer_details":{"type":"string","title":"Issuer Details"}}}},"title":"CertificationsResult","required":["certifications","specializations"],"properties":{"certifications":{"type":"array","items":{"$ref":"#/$defs/CertificationBadge"},"title":"Certifications"},"specializations":{"type":"array","items":{"$ref":"#/$defs/CertificationEntry"},"title":"Specializations"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"list_experience","title":"List work experience","description":"List professional work experience: companies, roles, descriptions, and skill tags.","input_schema":{"type":"object","title":"list_experienceArguments","properties":{}},"output_schema":{"type":"object","$defs":{"WorkExperience":{"type":"object","title":"WorkExperience","required":["company","logo","title","brand_color","description","tags"],"properties":{"logo":{"type":"string","title":"Logo"},"tags":{"type":"array","items":{"type":"string"},"title":"Tags"},"title":{"type":"string","title":"Title"},"company":{"type":"string","title":"Company"},"brand_color":{"type":"string","title":"Brand Color"},"description":{"type":"string","title":"Description"}}}},"title":"ExperienceResult","required":["experience"],"properties":{"experience":{"type":"array","items":{"$ref":"#/$defs/WorkExperience"},"title":"Experience"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"list_projects","title":"List projects","description":"List open-source projects and educational YouTube series.","input_schema":{"type":"object","title":"list_projectsArguments","properties":{}},"output_schema":{"type":"object","$defs":{"Project":{"type":"object","title":"Project","required":["title","href","description"],"properties":{"href":{"type":"string","title":"Href"},"repo":{"type":"string","title":"Repo","default":""},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}}},"Playlist":{"type":"object","title":"Playlist","required":["title","url","description","cta"],"properties":{"cta":{"type":"string","title":"Cta"},"url":{"type":"string","title":"Url"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"}}}},"title":"ProjectsResult","required":["open_source","youtube_series"],"properties":{"open_source":{"type":"array","items":{"$ref":"#/$defs/Project"},"title":"Open Source"},"youtube_series":{"type":"array","items":{"$ref":"#/$defs/Playlist"},"title":"Youtube Series"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"list_publications","title":"List publications","description":"List academic and written publications: the PhD thesis, peer-reviewed papers, and hosted articles.","input_schema":{"type":"object","title":"list_publicationsArguments","properties":{}},"output_schema":{"type":"object","$defs":{"Thesis":{"type":"object","title":"Thesis","required":["title","url","institution_details","description","links"],"properties":{"url":{"type":"string","title":"Url"},"links":{"type":"array","items":{"$ref":"#/$defs/ThesisLink"},"title":"Links"},"title":{"type":"string","title":"Title"},"description":{"type":"string","title":"Description"},"institution_details":{"type":"string","title":"Institution Details"}}},"ThesisLink":{"type":"object","title":"ThesisLink","required":["label","url"],"properties":{"url":{"type":"string","title":"Url"},"label":{"type":"string","title":"Label"}}},"ResearchPaper":{"type":"object","title":"ResearchPaper","required":["title","url","venue","code","code_label"],"properties":{"url":{"type":"string","title":"Url"},"code":{"type":"string","title":"Code"},"title":{"type":"string","title":"Title"},"venue":{"type":"string","title":"Venue"},"code_label":{"type":"string","title":"Code Label"}}},"ArticleSummary":{"type":"object","title":"ArticleSummary","required":["date","updated","title","description","slug","url","image_url","image_alt","tags","reading_minutes"],"properties":{"url":{"type":"string","title":"Url"},"date":{"type":"string","title":"Date","format":"date-time"},"slug":{"type":"string","title":"Slug"},"tags":{"type":"array","items":{"type":"string"},"title":"Tags"},"title":{"type":"string","title":"Title"},"updated":{"type":"string","title":"Updated","format":"date-time"},"canonical":{"type":"string","title":"Canonical","default":""},"image_alt":{"type":"string","title":"Image Alt"},"image_url":{"type":"string","title":"Image Url"},"syndicated":{"type":"string","title":"Syndicated","default":""},"description":{"type":"string","title":"Description"},"reading_minutes":{"type":"integer","title":"Reading Minutes"}}}},"title":"PublicationsResult","required":["thesis","papers","articles"],"properties":{"papers":{"type":"array","items":{"$ref":"#/$defs/ResearchPaper"},"title":"Papers"},"thesis":{"$ref":"#/$defs/Thesis"},"articles":{"type":"array","items":{"$ref":"#/$defs/ArticleSummary"},"title":"Articles"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"},{"name":"search_articles","title":"Search articles","description":"Search the hosted articles by relevance (BM25 over titles, tags, descriptions, and full text) and return the best matches. Use it to answer what Fmind has written about a topic instead of listing every publication.","input_schema":{"type":"object","title":"search_articlesArguments","required":["query"],"properties":{"tag":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag","default":null,"description":"optionally keep only articles with this tag, case-insensitive: Agent, Coding, LLM, RAG, MLOps, Cloud, Python, Project, Demo, Guide"},"limit":{"type":"integer","title":"Limit","default":10,"description":"maximum number of results to return (default 10, maximum 50)"},"query":{"type":"string","title":"Query","description":"words to search for across article titles, tags, descriptions, and full text"}}},"output_schema":{"type":"object","$defs":{"ArticleSummary":{"type":"object","title":"ArticleSummary","required":["date","updated","title","description","slug","url","image_url","image_alt","tags","reading_minutes"],"properties":{"url":{"type":"string","title":"Url"},"date":{"type":"string","title":"Date","format":"date-time"},"slug":{"type":"string","title":"Slug"},"tags":{"type":"array","items":{"type":"string"},"title":"Tags"},"title":{"type":"string","title":"Title"},"updated":{"type":"string","title":"Updated","format":"date-time"},"canonical":{"type":"string","title":"Canonical","default":""},"image_alt":{"type":"string","title":"Image Alt"},"image_url":{"type":"string","title":"Image Url"},"syndicated":{"type":"string","title":"Syndicated","default":""},"description":{"type":"string","title":"Description"},"reading_minutes":{"type":"integer","title":"Reading Minutes"}}}},"title":"SearchArticlesResult","required":["query","articles","total"],"properties":{"query":{"type":"string","title":"Query"},"total":{"type":"integer","title":"Total"},"articles":{"type":"array","items":{"$ref":"#/$defs/ArticleSummary"},"title":"Articles"}}},"annotations":{"readOnlyHint":true,"openWorldHint":false},"source":"probe","observed_at":"2026-10-20T05:19:56.434Z"}],"next_cursor":null,"next_actions":[{"action":"get_connection","description":"Connection block to call these tools","href":"/v1/servers/io.github.fmind%2Fportfolio/connection?target=mcpServers","arguments":{"name":"io.github.fmind/portfolio","target":"mcpServers"}},{"action":"get_server","description":"Full descriptor with trust and connectability","href":"/v1/servers/io.github.fmind%2Fportfolio","arguments":{"name":"io.github.fmind/portfolio"}}]}