Skip to content

MCP: content_create/content_update ignores taxonomies field (categories/tags not assigned) #953

Description

@Vallhalen

Problem

content_create and content_update MCP tools accept a taxonomies field without error, but do not persist taxonomy assignments (categories, tags) to the content item. The field is silently ignored.

This is a follow-up to #621, which was closed after SEO and bylines support was added to content_update. The taxonomy part of that issue was not resolved.

Steps to reproduce

// Create a post with taxonomies
await call('content_create', {
  collection: 'posts',
  slug: 'my-post',
  data: { title: 'Test Post', content: [...] },
  taxonomies: {
    category: ['porady'],        // slug
    tag: ['ai', 'seo'],          // slugs
  },
  status: 'draft',
});
// Result: post created, but NO taxonomies assigned

// Update existing post with taxonomies
await call('content_update', {
  collection: 'posts',
  id: 'POST_ID',
  taxonomies: {
    category: ['TERM_ID'],       // by ID
    tag: ['TERM_ID_1', 'TERM_ID_2'],
  },
});
// Result: returns OK, but NO taxonomies persisted

Verified via content_get - the returned item has no taxonomies field at all.

Expected behavior

content_create and content_update should persist taxonomy assignments, either by term slug or term ID.

Workaround

The REST API endpoint works correctly:

POST /_emdash/api/content/posts/{postId}/terms/{taxonomyName}
Body: { "termIds": ["TERM_ID_1", "TERM_ID_2"] }

This is undocumented but functional. I used it to bulk-assign categories and tags to 15 posts.

Additionally, content_get does not return taxonomy assignments in its response - you need to use GET /_emdash/api/content/posts/{postId}/terms/{taxonomyName} to check.

Environment

  • EmDash 0.9.x (latest as of 2026-05-08)
  • Cloudflare Workers deployment
  • MCP server with content_create, content_update, taxonomy_list_terms tools

Metadata

Metadata

Assignees

No one assigned

    Labels

    roadmap/1.0Issues included in the public EmDash 1.0 roadmap.roadmap/api-mcp-agentsRoadmap track: API, MCP, and agent workflows.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions