Servidor MCP

Fmind Freelance AI Architect Website

io.github.fmind/portfolio
Conocimiento y documentación Público y accesible MCP 2025-11-25

Qué hace este MCP

Provides read-only access to a professional portfolio, articles, publications, projects, experience, services, and an LLM hosting cost calculator.

compare_llm_hosting
Compare LLM hosting costs
Compare one GKE hosting scenario with managed API baselines using the website calculator. Call with parameters={} for defaults and supported model, node, billing, and quantization choices. Then override URL parameters as strings, e.g. requests=1000, throughput=100, tokens=500. Returns assumptions, USD costs, constraints, dated sources, and a shareable URL. Invalid inputs fail; no resources are provisioned. See /agents#calculator.
Solo lectura
Esquema de entrada
{'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}}}}
Esquema de salida
{'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'}, 'active_days': {'type': 'number', 'title': 'Active Days'}, 'description': {'type': 'string', 'title': 'Description'}, 'input_tokens': {'type': 'number', 'title': 'Input Tokens'}, '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', 'rank', 'name', 'creator', 'intelligence', 'parameters_b', 'active_parameters', 'context_tokens', 'license', 'license_class', 'analysis_url', 'weights_url', 'minimum_node_id', 'minimum_nodes'], 'properties': {'id': {'type': 'string', 'title': 'Id'}, 'name': {'type': 'string', 'title': 'Name'}, 'rank': {'type': 'integer', 'title': 'Rank'}, 'creator': {'type': 'string', 'title': 'Creator'}, 'license': {'type': 'string', 'title': 'License'}, 'weights_url': {'type': 'string', 'title': 'Weights Url'}, 'analysis_url': {'type': 'string', 'title': 'Analysis Url'}, 'intelligence': {'type': 'number', 'title': 'Intelligence'}, 'parameters_b': {'type': 'number', 'title': 'Parameters B'}, 'license_class': {'type': 'string', 'title': 'License Class'}, 'minimum_nodes': {'type': 'integer', 'title': 'Minimum Nodes'}, 'context_tokens': {'type': 'integer', 'title': 'Context Tokens'}, 'minimum_node_id': {'type': 'string', 'title': 'Minimum Node Id'}, 'active_parameters': {'type': 'number', 'title': 'Active Parameters'}}}, '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', 'platform_monthly_usd', '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': {'quality': {'type': 'array', 'title': 'Quality', 'maxItems': 4, 'minItems': 4, 'prefixItems': [{'$ref': '#/$defs/TaskQuality'}, {'$ref': '#/$defs/TaskQuality'}, {'$ref': '#/$defs/TaskQuality'}, {'$ref': '#/$defs/TaskQuality'}]}, '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'}, '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'}, 'platform_monthly_usd': {'type': 'number', 'title': 'Platform Monthly Usd'}, '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', 'platform_monthly_usd', 'total_monthly_usd', 'capacity_tokens_month', 'capacity_requests_day', 'requests_month', 'input_tokens_month', 'output_tokens_month', 'demand_capacity_pct', 'per_thousand_requests_usd', 'demand_fits', 'context_issue', 'topology_confirmed', 'qualified'], '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'}, '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'}, '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'}, 'platform_monthly_usd': {'type': 'number', 'title': 'Platform Monthly Usd'}, 'capacity_requests_day': {'type': 'number', 'title': 'Capacity Requests Day'}, 'capacity_tokens_month': {'type': 'number', 'title': 'Capacity Tokens Month'}, 'per_thousand_requests_usd': {'type': 'number', 'title': 'Per Thousand Requests Usd'}}}, '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'], 'properties': {'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'}}}
get_article
Read an article
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.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'get_articleArguments', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'title': 'Slug', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1}}}
Esquema de salida
{'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'}}}
get_profile
Get profile
Return the core profile: identity, headline, job title, contact, socials, biography, and areas of expertise.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'get_profileArguments', 'properties': {}}
Esquema de salida
{'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', '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'}}}, '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'}}}
get_services
Get professional services
List the professional services on offer (AI architecture advisory and mentoring) with availability and how to book.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'servicesArguments', 'properties': {}}
Esquema de salida
{'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'}}}
list_certifications
List credentials
List professional certifications, badges, and course specializations with their issuers.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'list_certificationsArguments', 'properties': {}}
Esquema de salida
{'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'}}}
list_experience
List work experience
List professional work experience: companies, roles, descriptions, and skill tags.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'list_experienceArguments', 'properties': {}}
Esquema de salida
{'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'}}}
list_projects
List projects
List open-source projects and educational YouTube series.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'list_projectsArguments', 'properties': {}}
Esquema de salida
{'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'}}}
list_publications
List publications
List academic and written publications: the PhD thesis, peer-reviewed papers, and hosted articles.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'list_publicationsArguments', 'properties': {}}
Esquema de salida
{'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'}}}
search_articles
Search articles
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.
Solo lectura
Esquema de entrada
{'type': 'object', 'title': 'search_articlesArguments', 'required': ['query'], 'properties': {'tag': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'title': 'Tag', 'default': None, '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'}}}
Esquema de salida
{'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'}}}
Modificado
search_articles
25 de September de 2026 a las 02:51
Modificado
get_profile
21 de September de 2026 a las 02:50
Añadido
compare_llm_hosting
17 de September de 2026 a las 12:41
Añadido
get_article
17 de September de 2026 a las 12:41
Añadido
get_services
17 de September de 2026 a las 12:41
Añadido
list_projects
17 de September de 2026 a las 12:41
Añadido
search_articles
17 de September de 2026 a las 12:41
Añadido
list_publications
17 de September de 2026 a las 12:41
Añadido
list_certifications
17 de September de 2026 a las 12:41
Añadido
list_experience
17 de September de 2026 a las 12:41
Añadido
get_profile
17 de September de 2026 a las 12:41