MCP 服务器

Fmind Freelance AI Architect Website

io.github.fmind/portfolio
知识与文档 公开且可连接 MCP 2025-11-25

此 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.
只读
输入模式
{'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}}}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'get_articleArguments', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'title': 'Slug', 'pattern': '^[a-z0-9]+(?:-[a-z0-9]+)*$', 'maxLength': 200, 'minLength': 1}}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'get_profileArguments', 'properties': {}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'servicesArguments', 'properties': {}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'list_certificationsArguments', 'properties': {}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'list_experienceArguments', 'properties': {}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'list_projectsArguments', 'properties': {}}
输出模式
{'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.
只读
输入模式
{'type': 'object', 'title': 'list_publicationsArguments', 'properties': {}}
输出模式
{'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.
只读
输入模式
{'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'}}}
输出模式
{'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'}}}
已更改
search_articles
2026年9月25日 02:51
已更改
get_profile
2026年9月21日 02:50
已添加
compare_llm_hosting
2026年9月17日 12:41
已添加
get_article
2026年9月17日 12:41
已添加
get_services
2026年9月17日 12:41
已添加
list_projects
2026年9月17日 12:41
已添加
search_articles
2026年9月17日 12:41
已添加
list_publications
2026年9月17日 12:41
已添加
list_certifications
2026年9月17日 12:41
已添加
list_experience
2026年9月17日 12:41
已添加
get_profile
2026年9月17日 12:41