{"apiVersion":"v1","directorySlug":"feliqo-mcp-c19f791561","title":"Feliqo","description":null,"pageUrl":"https://www.mcpbundles.com/skills/feliqo-mcp-c19f791561","connectPath":"importable","connectAction":"import_server","catalogListing":false,"bundleSlug":null,"listingKind":"remote_mcp","kind":"provider","transportUrl":"https://feliqo.com/mcp","hostedMcpUrl":null,"toolCount":58,"toolInventoryStatus":"observed","refreshedAt":"2026-11-03T13:26:00.516172+00:00","registryName":"com.feliqo/feliqo-mcp-c19f791561","registryVersion":"2026.11.3","registryEligible":true,"tools":[{"name":"blocks_delete","description":"Remove a block from the tree by id.","inputSchema":{"type":"object","required":["post_id","block_id"],"properties":{"post_id":{"type":"integer"},"block_id":{"type":"string"}}},"logicalName":"blocks_delete","displayName":"blocks_delete","title":"blocks_delete","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_duplicate","description":"Duplicate a block; returns the new block_id.","inputSchema":{"type":"object","required":["post_id","block_id"],"properties":{"post_id":{"type":"integer"},"block_id":{"type":"string"}}},"logicalName":"blocks_duplicate","displayName":"blocks_duplicate","title":"blocks_duplicate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_get","description":"Return the block tree of a post.","inputSchema":{"type":"object","required":["post_id"],"properties":{"post_id":{"type":"integer"}}},"logicalName":"blocks_get","displayName":"blocks_get","title":"blocks_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_insert","description":"Insert a block. Position: one of after_id, before_id, or index (with optional parent_id for nesting inside a container). Args: post_id, type, attrs (object), inner (optional array of child blocks), after_id|before_id|index, parent_id.","inputSchema":{"type":"object","required":["post_id","type"],"properties":{"type":{"type":"string"},"attrs":{"type":"object"},"index":{"type":"integer"},"inner":{"type":"array"},"post_id":{"type":"integer"},"after_id":{"type":"string"},"before_id":{"type":"string"},"parent_id":{"type":"string"}}},"logicalName":"blocks_insert","displayName":"blocks_insert","title":"blocks_insert","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_move","description":"Move a block to a new position in its parent. Args: post_id, block_id, plus one of after_id/before_id/index/parent_id.","inputSchema":{"type":"object","required":["post_id","block_id"],"properties":{"index":{"type":"integer"},"post_id":{"type":"integer"},"after_id":{"type":"string"},"block_id":{"type":"string"},"before_id":{"type":"string"},"parent_id":{"type":"string"}}},"logicalName":"blocks_move","displayName":"blocks_move","title":"blocks_move","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_registry","description":"List the installed block types with their attribute schemas. Args: category (optional filter).","inputSchema":{"type":"object","properties":{"category":{"type":"string"}}},"logicalName":"blocks_registry","displayName":"blocks_registry","title":"blocks_registry","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_replace_all","description":"Atomically replace the entire body. Args: post_id, blocks (array or {version,blocks}).","inputSchema":{"type":"object","required":["post_id","blocks"],"properties":{"blocks":{"type":"array"},"post_id":{"type":"integer"}}},"logicalName":"blocks_replace_all","displayName":"blocks_replace_all","title":"blocks_replace_all","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"blocks_update","description":"Update a block's attrs or inner. Args: post_id, block_id, attrs?, inner?.","inputSchema":{"type":"object","required":["post_id","block_id"],"properties":{"attrs":{"type":"object"},"inner":{"type":"array"},"post_id":{"type":"integer"},"block_id":{"type":"string"}}},"logicalName":"blocks_update","displayName":"blocks_update","title":"blocks_update","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"extensions_invalidate","description":"Invalidate rendered output for a Content site after provider data changes. Args: site selector plus optional cache tags reserved for future selective invalidation.","inputSchema":{"type":"object","properties":{"tags":{"type":"array"}}},"logicalName":"extensions_invalidate","displayName":"extensions_invalidate","title":"extensions_invalidate","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"extensions_remove","description":"Remove an installed public-surface extension from a Content site. Args: key.","inputSchema":{"type":"object","required":["key"],"properties":{"key":{"type":"string"}}},"logicalName":"extensions_remove","displayName":"extensions_remove","title":"extensions_remove","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"extensions_update_settings","description":"Update validated settings for an installed Content extension. Changes are saved as a draft unless publish is true. Args: key, settings, publish?.","inputSchema":{"type":"object","required":["key","settings"],"properties":{"key":{"type":"string"},"publish":{"type":"boolean"},"settings":{"type":"object"}}},"logicalName":"extensions_update_settings","displayName":"extensions_update_settings","title":"extensions_update_settings","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"extensions_upsert","description":"Install or update a generic app-provided public surface on a Content site. Args: key, provider_app, manifest, publish?. The opaque manifest may declare routes, templates, assets, data sources, actions, settings, and editor schemas.","inputSchema":{"type":"object","required":["key","provider_app","manifest"],"properties":{"key":{"type":"string"},"publish":{"type":"boolean"},"manifest":{"type":"object"},"provider_app":{"type":"string"}}},"logicalName":"extensions_upsert","displayName":"extensions_upsert","title":"extensions_upsert","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"forms_list","description":"List every core/form block across all published pages/posts in the project, with submission counts. Returns [{post_id, post_kind, post_slug, post_title, block_id, fields, actions_count, submissions_count, last_submission_at}]. Use this to populate a 'forms inbox' across the site.","inputSchema":{"type":"object","properties":{}},"logicalName":"forms_list","displayName":"forms_list","title":"forms_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"forms_submission_get","description":"Fetch one submission by id. Returns the full row including payload, results, and audit fields (ip_hash, user_agent, status, error).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}},"logicalName":"forms_submission_get","displayName":"forms_submission_get","title":"forms_submission_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"forms_submissions_list","description":"List submissions, newest first. Args: block_id (optional — filter to one form), limit (default 50, max 500). Each row has payload + per-action results + status (ok | partial | rejected_honeypot | rejected_validation).","inputSchema":{"type":"object","properties":{"limit":{"type":"integer"},"block_id":{"type":"string"}}},"logicalName":"forms_submissions_list","displayName":"forms_submissions_list","title":"forms_submissions_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"media_list","description":"List media items. Args: kind (optional), q (optional), limit, offset.","inputSchema":{"type":"object","properties":{"q":{"type":"string"},"kind":{"type":"string"},"limit":{"type":"integer"},"offset":{"type":"integer"}}},"logicalName":"media_list","displayName":"media_list","title":"media_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"media_set_meta","description":"Update alt text or caption on a media item. Args: id, alt?, caption?.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"alt":{"type":"string"},"caption":{"type":"string"}}},"logicalName":"media_set_meta","displayName":"media_set_meta","title":"media_set_meta","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"media_upload","description":"Upload media. Args: one of bytes_b64 / url, plus filename (optional), alt, caption, source. Requires the storage app to be bound.","inputSchema":{"type":"object","properties":{"alt":{"type":"string"},"url":{"type":"string"},"source":{"type":"string"},"caption":{"type":"string"},"filename":{"type":"string"},"bytes_b64":{"type":"string"}}},"logicalName":"media_upload","displayName":"media_upload","title":"media_upload","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"menus_create","description":"Create a navigation menu. Args: slug, name.","inputSchema":{"type":"object","required":["slug","name"],"properties":{"name":{"type":"string"},"slug":{"type":"string"}}},"logicalName":"menus_create","displayName":"menus_create","title":"menus_create","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"menus_get","description":"Fetch one menu by id or slug; includes nested items.","inputSchema":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"}}},"logicalName":"menus_get","displayName":"menus_get","title":"menus_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"menus_list","description":"List menus in this project.","inputSchema":{"type":"object","properties":{}},"logicalName":"menus_list","displayName":"menus_list","title":"menus_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"menus_set_items","description":"Replace a menu's items atomically. Args: menu_id, items (nested array: [{label, target_kind, target_id|target_url, children?}, …]).","inputSchema":{"type":"object","required":["menu_id","items"],"properties":{"items":{"type":"array"},"menu_id":{"type":"integer"}}},"logicalName":"menus_set_items","displayName":"menus_set_items","title":"menus_set_items","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_archive","description":"Move a post to the archive (soft-delete — status='archived'). Restorable via posts_unpublish. For a permanent removal, use posts_delete.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}},"logicalName":"posts_archive","displayName":"posts_archive","title":"posts_archive","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_create","description":"Create a post or page. Args: kind ('post'|'page', default 'post'), title, excerpt, slug, locale, blocks ([] or {version,blocks}), author, template, terms ([term_id]), featured_media_id, parent_id, menu_order, seo_title, seo_description, seo_canonical, og_image_media_id.","inputSchema":{"type":"object","properties":{"kind":{"type":"string"},"slug":{"type":"string"},"author":{"type":"string"},"blocks":{"type":"array"},"locale":{"type":"string"},"excerpt":{"type":"string"},"template":{"type":"string"},"parent_id":{"type":"integer"},"seo_title":{"type":"string"},"menu_order":{"type":"integer"},"seo_canonical":{"type":"string"},"seo_description":{"type":"string"},"featured_media_id":{"type":"integer"},"og_image_media_id":{"type":"integer"}}},"logicalName":"posts_create","displayName":"posts_create","title":"posts_create","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_delete","description":"Permanently remove a post (sets deleted_at — no longer queryable). For a recoverable removal, use posts_archive.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}},"logicalName":"posts_delete","displayName":"posts_delete","title":"posts_delete","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_get","description":"Fetch one post or page (snapshot only). Args: id OR (slug, kind?, locale?).","inputSchema":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string"},"slug":{"type":"string"},"locale":{"type":"string"}}},"logicalName":"posts_get","displayName":"posts_get","title":"posts_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_get_context","description":"Snapshot + revisions + terms — the agent's pre-flight read before edits.","inputSchema":{"type":"object","properties":{"id":{"type":"integer"},"kind":{"type":"string"},"slug":{"type":"string"},"locale":{"type":"string"}}},"logicalName":"posts_get_context","displayName":"posts_get_context","title":"posts_get_context","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_publish","description":"Publish a post immediately or schedule for a future RFC3339 time. Args: id, scheduled_at (optional).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"scheduled_at":{"type":"string"},"expected_version":{"type":"integer"}}},"logicalName":"posts_publish","displayName":"posts_publish","title":"posts_publish","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_revision_restore","description":"Restore a prior revision as the current body. Args: id, revision_id.","inputSchema":{"type":"object","required":["id","revision_id"],"properties":{"id":{"type":"integer"},"revision_id":{"type":"integer"}}},"logicalName":"posts_revision_restore","displayName":"posts_revision_restore","title":"posts_revision_restore","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_revisions_list","description":"List revisions for a post. Args: id, limit (default 50).","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"limit":{"type":"integer"}}},"logicalName":"posts_revisions_list","displayName":"posts_revisions_list","title":"posts_revisions_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_search","description":"Filtered post/page search. Args: q (free text), status, kind ('post'|'page'), term_slug, parent_id, author, locale, limit (default 50), offset.","inputSchema":{"type":"object","properties":{"q":{"type":"string"},"kind":{"type":"string"},"limit":{"type":"integer"},"author":{"type":"string"},"locale":{"type":"string"},"offset":{"type":"integer"},"status":{"type":"string"},"parent_id":{"type":"integer"},"term_kind":{"enum":["category","tag"],"type":"string"},"term_slug":{"type":"string"}}},"logicalName":"posts_search","displayName":"posts_search","title":"posts_search","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_set_homepage","description":"Pin a page as the site homepage. Args: page_id.","inputSchema":{"type":"object","required":["page_id"],"properties":{"page_id":{"type":"integer"}}},"logicalName":"posts_set_homepage","displayName":"posts_set_homepage","title":"posts_set_homepage","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_unpublish","description":"Move a post back to draft.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}},"logicalName":"posts_unpublish","displayName":"posts_unpublish","title":"posts_unpublish","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"posts_update","description":"Partial-patch a post or page. Creates a revision; pass expected_version from posts_get to reject stale edits. Args: id (required), plus any subset of title, excerpt, slug, locale, blocks, author, template, featured_media_id, parent_id, menu_order, seo_*, og_image_media_id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"blocks":{"type":"array"},"expected_version":{"type":"integer"}}},"logicalName":"posts_update","displayName":"posts_update","title":"posts_update","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"redirects_create","description":"Create a redirect rule. Args: from_path, to_path, code (301|302, default 301).","inputSchema":{"type":"object","required":["from_path","to_path"],"properties":{"code":{"type":"integer"},"to_path":{"type":"string"},"from_path":{"type":"string"}}},"logicalName":"redirects_create","displayName":"redirects_create","title":"redirects_create","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"redirects_list","description":"List redirect rules.","inputSchema":{"type":"object","properties":{}},"logicalName":"redirects_list","displayName":"redirects_list","title":"redirects_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"settings_get","description":"Read settings. Args: keys (optional array of specific keys); omit to return all.","inputSchema":{"type":"object","properties":{"keys":{"type":"array"}}},"logicalName":"settings_get","displayName":"settings_get","title":"settings_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"settings_set","description":"Write a setting. Args: key, value (any JSON-encodable).","inputSchema":{"type":"object","required":["key"],"properties":{"key":{"type":"string"},"value":{}}},"logicalName":"settings_set","displayName":"settings_set","title":"settings_set","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_archive","description":"Soft-delete a site. Refuses if the site is the default — promote another site to default first via sites_set_default. Args: id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}},"logicalName":"sites_archive","displayName":"sites_archive","title":"sites_archive","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_attach_domain","description":"Attach a public FQDN to a site. Updates the site's hostname, registers the route via the bound 'routes' app, optionally auto-provisions DNS (when 'domains' is bound) and TLS (when 'certs' is bound). Args: id OR slug (defaults to active site), fqdn (req), target? (DNS record value — IP for A, hostname for CNAME; inferred from APTEVA_PUBLIC_URL when omitted), auto_dns? (default true), auto_tls? (default true). Returns {site, route, dns: {managed, records[]}, tls: {managed, status, cert_id}}.","inputSchema":{"type":"object","required":["fqdn"],"properties":{"id":{"type":"integer"},"fqdn":{"type":"string"},"slug":{"type":"string"},"target":{"type":"string"},"auto_dns":{"type":"boolean"},"auto_tls":{"type":"boolean"}}},"logicalName":"sites_attach_domain","displayName":"sites_attach_domain","title":"sites_attach_domain","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_create","description":"Create a new site in the current project. Args: slug, name. The first site for a project is auto-promoted to default. Attach hostnames with sites_attach_domain.","inputSchema":{"type":"object","required":["slug","name"],"properties":{"name":{"type":"string"},"slug":{"type":"string"}}},"logicalName":"sites_create","displayName":"sites_create","title":"sites_create","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_detach_domain","description":"Reverse a previous attach. Clears the site's hostname, unregisters the route. DNS removal is opt-in (remove_dns: true) — by default the record is left in place so a re-attach picks up the same value. TLS cert is always left in place (Let's Encrypt rate limits make discarding it a false economy). Args: id OR slug (defaults to active site), remove_dns? (default false).","inputSchema":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"},"remove_dns":{"type":"boolean"}}},"logicalName":"sites_detach_domain","displayName":"sites_detach_domain","title":"sites_detach_domain","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_get","description":"Fetch one site by id or slug.","inputSchema":{"type":"object","properties":{"id":{"type":"integer"},"slug":{"type":"string"}}},"logicalName":"sites_get","displayName":"sites_get","title":"sites_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_list","description":"List sites in the current project. Each site is a self-contained content surface with its own posts/pages/menus/settings/theme.","inputSchema":{"type":"object","properties":{"include_archived":{"type":"boolean"}}},"logicalName":"sites_list","displayName":"sites_list","title":"sites_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_set_default","description":"Promote a site to default — picks which site receives ambiguous (no site arg) tool calls and admin REST requests. Args: id.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"}}},"logicalName":"sites_set_default","displayName":"sites_set_default","title":"sites_set_default","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"sites_update","description":"Update a site's display name. Args: id, name?. Use sites_attach_domain or sites_detach_domain for hostnames.","inputSchema":{"type":"object","required":["id"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}},"logicalName":"sites_update","displayName":"sites_update","title":"sites_update","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"templates_apply","description":"Apply a template to this project — creates pages, posts, terms, menus, settings in one transaction. Args: name, mode ('empty_only' default — refuses if site has any content; 'append' — adds missing slugs only; 'overwrite' — replaces matching slugs).","inputSchema":{"type":"object","required":["name"],"properties":{"mode":{"type":"string"},"name":{"type":"string"}}},"logicalName":"templates_apply","displayName":"templates_apply","title":"templates_apply","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"templates_get","description":"Fetch one template's full body (YAML). Args: name.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"logicalName":"templates_get","displayName":"templates_get","title":"templates_get","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"templates_list","description":"List available site templates (bundled + user-imported). Args: source (optional 'bundled'|'imported'|'agent'), tag (optional tag filter).","inputSchema":{"type":"object","properties":{"tag":{"type":"string"},"source":{"type":"string"}}},"logicalName":"templates_list","displayName":"templates_list","title":"templates_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"templates_preview","description":"Dry-run apply — returns counts of what would be created without writing. Args: name, mode (optional 'empty_only'|'append'|'overwrite').","inputSchema":{"type":"object","required":["name"],"properties":{"mode":{"type":"string"},"name":{"type":"string"}}},"logicalName":"templates_preview","displayName":"templates_preview","title":"templates_preview","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"templates_register","description":"Register a user-supplied template (raw YAML body). Args: body (string), source (optional, defaults to 'imported').","inputSchema":{"type":"object","required":["body"],"properties":{"body":{"type":"string"},"source":{"type":"string"}}},"logicalName":"templates_register","displayName":"templates_register","title":"templates_register","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"templates_unregister","description":"Remove a user-registered template. Bundled templates cannot be removed. Args: name.","inputSchema":{"type":"object","required":["name"],"properties":{"name":{"type":"string"}}},"logicalName":"templates_unregister","displayName":"templates_unregister","title":"templates_unregister","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"terms_assign","description":"Assign terms to a post. Args: post_id, term_ids (array of integers).","inputSchema":{"type":"object","required":["post_id","term_ids"],"properties":{"post_id":{"type":"integer"},"term_ids":{"type":"array"}}},"logicalName":"terms_assign","displayName":"terms_assign","title":"terms_assign","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"terms_create","description":"Create a category or tag. Args: kind ('category'|'tag'), name, slug (optional), parent_id (optional), description.","inputSchema":{"type":"object","required":["kind","name"],"properties":{"kind":{"type":"string"},"name":{"type":"string"},"slug":{"type":"string"},"parent_id":{"type":"integer"}}},"logicalName":"terms_create","displayName":"terms_create","title":"terms_create","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"terms_list","description":"List terms. Args: kind (optional filter), q (optional name/slug search).","inputSchema":{"type":"object","properties":{"q":{"type":"string"},"kind":{"type":"string"}}},"logicalName":"terms_list","displayName":"terms_list","title":"terms_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"terms_unassign","description":"Remove terms from a post. Args: post_id, term_ids.","inputSchema":{"type":"object","required":["post_id","term_ids"],"properties":{"post_id":{"type":"integer"},"term_ids":{"type":"array"}}},"logicalName":"terms_unassign","displayName":"terms_unassign","title":"terms_unassign","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"themes_list","description":"List installed themes.","inputSchema":{"type":"object","properties":{}},"logicalName":"themes_list","displayName":"themes_list","title":"themes_list","annotations":{"untrustedContentHint":true,"readOnlyHint":true}},{"name":"themes_set_active","description":"Switch the active theme by slug. v1.0 only supports the bundled 'default'.","inputSchema":{"type":"object","required":["slug"],"properties":{"slug":{"type":"string"}}},"logicalName":"themes_set_active","displayName":"themes_set_active","title":"themes_set_active","annotations":{"untrustedContentHint":true,"readOnlyHint":true}}],"toolSource":"directory_preview","agentAction":"both","installLinks":[{"id":"cursor","label":"Cursor","href":"cursor://anysphere.cursor-deeplink/mcp/install?name=Feliqo&config=eyJ1cmwiOiAiaHR0cHM6Ly9mZWxpcW8uY29tL21jcCJ9"},{"id":"vscode","label":"VS Code","href":"vscode:mcp/install?%7B%22name%22%3A%22Feliqo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ffeliqo.com%2Fmcp%22%7D"},{"id":"vscode-insiders","label":"VS Code Insiders","href":"vscode-insiders:mcp/install?%7B%22name%22%3A%22Feliqo%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Ffeliqo.com%2Fmcp%22%7D"},{"id":"claude-web","label":"Claude.ai","href":"https://claude.ai/customize/connectors?modal=add-custom-connector&connectorName=Feliqo&connectorUrl=https%3A%2F%2Ffeliqo.com%2Fmcp"},{"id":"codex","label":"Codex","copyText":"codex mcp add \"Feliqo\" --url \"https://feliqo.com/mcp\""},{"id":"chatgpt","label":"ChatGPT","href":"https://www.mcpbundles.com/docs/integrations/chatgpt"}],"catalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/feliqo-mcp-c19f791561","callUrl":"https://www.mcpbundles.com/api/directory/v1/servers/feliqo-mcp-c19f791561/tools/{tool}","mcpServerUrl":"https://feliqo.com/mcp","liveCatalogUrl":"https://www.mcpbundles.com/api/directory/v1/servers/feliqo-mcp-c19f791561?live=1"}