Servidor MCP

Spark - AI Assets Marketplace

io.github.entire-vc/spark
IA y agentes Infraestructura MCP y de agentes Público y accesible MCP 2025-11-25

Qué hace este MCP

Searches an AI asset marketplace and retrieves details or content for agents, skills, prompts, MCP connectors, and related bundles.

get_asset
Get asset details
Get full details of a Spark asset by its slug — description, metadata, outcome reports, bundled files and the URL on spark.entire.vc. Takes a slug, for example from a search result, a popular list or a link. Returns the full picture of the asset. It does not return the prompt/skill/agent text itself; get_asset_content returns that.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': "Asset slug (e.g. 'vb-seo-expert', 'vb-python-expert')"}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
get_asset_content
Get asset content
Get the raw content of a Spark asset (prompt text, skill instructions, agent config) — the actual text to apply, not just a description of it. Takes a slug. Unlike search_assets and get_asset, this counts as a download/acquisition event, and each call may return different content if the asset was updated. Paid assets require authentication: a Spark API key (X-API-Key header) or a Bearer token in the MCP client configuration. The response ends with an `application_id` line that identifies this fetch; report_outcome takes it as its `application_id` argument.
Esquema de entrada
{'type': 'object', 'required': ['slug'], 'properties': {'slug': {'type': 'string', 'description': 'Asset slug'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
list_categories
List categories
List available categories (domains and AI tags) in the Spark marketplace. Returns the domain slugs that search_assets accepts as its `domain` filter, and the AI tags, as a taxonomy of the catalog. Example: list_categories()
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
list_popular
List popular assets
List the most popular Spark assets by download count, optionally filtered by type. Takes no search text; it returns the current top of the catalog by downloads.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'properties': {'type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by asset type (agent, skill, prompt, prompt_chain, mcp_connector, bundle)'}, 'limit': {'type': 'integer', 'default': 10, 'description': 'Number of results (1-20, default 10)'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
report_outcome
Report outcome
Records the result of applying an asset that was fetched with get_asset_content: applied as is, applied with changes, broke, or not applicable. The report is tied to the application_id that get_asset_content returned; submitting the same application_id again updates the report. Reports made with an API key are counted; anonymous ones are stored as unverified. Fields `task`, `note`, `changed_what`, `failed_at`, `expected`, `got` are published on the asset's public page on spark.entire.vc, visible to any visitor. Do not include client data, private paths, keys, emails or URLs with tokens. Your identity is never shown on that page. Example: report_outcome(application_id='<from get_asset_content>', result='applied_with_changes', task='add a rate limiter to the API', changed_what='swapped the fixed window for a token bucket').
Idempotente
Esquema de entrada
{'type': 'object', 'required': ['application_id', 'result', 'task'], 'properties': {'got': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'not_applicable: what it actually does (â\x89¤ 200).'}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Anything else worth knowing (â\x89¤ 300).'}, 'task': {'type': 'string', 'description': 'What you were trying to do, one phrase (â\x89¤ 200).'}, 'model': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'The model you run on, if you know it. Shown, never ranked.'}, 'result': {'enum': ['applied_as_is', 'applied_with_changes', 'broke', 'not_applicable'], 'type': 'string', 'description': 'applied_as_is: applied without edits, task solved. applied_with_changes: had to edit it, then solved (requires changed_what). broke: tried to apply and it failed (requires failed_at). not_applicable: read it and did not apply, it does something else (requires expected and got).'}, 'expected': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'not_applicable: what you were looking for (â\x89¤ 200).'}, 'failed_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'broke: the step, tool or command that failed, and the error class (â\x89¤ 200).'}, 'changed_what': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'applied_with_changes: what you changed (â\x89¤ 200).'}, 'application_id': {'type': 'string', 'description': 'The application_id at the end of the get_asset_content response.'}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
search_assets
Search assets
Search the Spark AI assets marketplace for agents, skills, prompts, prompt chains, MCP connectors and bundles. Finds assets by text query, for when the slug is not known. Returns a numbered list of short summaries: title, type, downloads, outcome summary, price, tags and the asset's URL on spark.entire.vc.
Solo lectura Idempotente
Esquema de entrada
{'type': 'object', 'required': ['query'], 'properties': {'job': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Job/task the agent is trying to accomplish. Enables job-based relevance ranking (e.g. 'review Python code', 'generate marketing copy', 'analyze data')."}, 'sort': {'type': 'string', 'default': 'combo', 'description': "Sort order: combo, popular, newest, rating. 'combo' = combined quality+ratings+agent outcomes score (default)."}, 'type': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': 'Filter by asset type (agent, skill, prompt, prompt_chain, mcp_connector, bundle)'}, 'limit': {'type': 'integer', 'default': 10, 'description': 'Number of results (1-50, default 10)'}, 'query': {'type': 'string', 'description': 'Search text (matches title and description)'}, 'domain': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None, 'description': "Filter by domain slug (e.g. 'development', 'marketing')"}}, 'additionalProperties': False}
Esquema de salida
{'type': 'object', 'required': ['result'], 'properties': {'result': {'type': 'string'}}, 'x-fastmcp-wrap-result': True}
Modificado
list_categories
27 de September de 2026 a las 02:40
Modificado
list_popular
27 de September de 2026 a las 02:40
Modificado
report_outcome
27 de September de 2026 a las 02:40
Modificado
get_asset_content
27 de September de 2026 a las 02:40
Modificado
get_asset
27 de September de 2026 a las 02:40
Modificado
search_assets
27 de September de 2026 a las 02:40
Añadido
list_categories
25 de September de 2026 a las 02:40
Añadido
list_popular
25 de September de 2026 a las 02:40
Añadido
report_outcome
25 de September de 2026 a las 02:40
Añadido
get_asset_content
25 de September de 2026 a las 02:40
Añadido
get_asset
25 de September de 2026 a las 02:40
Añadido
search_assets
25 de September de 2026 a las 02:40