Magic MCP vs Entity Enricher

A side-by-side look at the Magic MCP and Entity Enricher MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.

Magic MCP logoMagic MCPArchitecture & Design · Local subprocess (stdio)Create crafted UI components inspired by the best 21st.dev design engineers.53GoodAuth: api key requiredEntity Enricher logoEntity EnricherDeveloper Tools · Remote HTTP/SSEMulti-LLM entity enrichment: schemas, single/batch enrichment, fusion, model benchmarks.57GoodAuth: not declared

Verdict: choose Magic MCP for architecture & design work as a local process; choose Entity Enricher for developer tools over a hosted endpoint. You can also run both side by side in one mcpServers block.

Which MCP server should you choose?

Magic MCP logoChoose Magic MCP when

  • You need dedicated capabilities in the Architecture & Design domain.
  • You prefer a local stdio subprocess transport.
  • Its auth model fits you: API key required.
  • You have the keys it needs: TWENTY_FIRST_API_KEY, API_KEY_21ST.
Explore Magic MCP

Entity Enricher logoChoose Entity Enricher when

  • You need dedicated capabilities in the Developer Tools domain.
  • You prefer a remote HTTP/SSE transport.
  • You want tools like upload_attachment, delete_attachment, start_batch_enrichment.
Explore Entity Enricher

Feature & specification comparison

Rows where the two servers differ are marked.

SpecMagic MCP logoMagic MCPEntity Enricher logoEntity Enricher
CategoryArchitecture & DesignDeveloper Tools
Quality signal53/100 · Good57/100 · Good
Install commandConfirmedConfirmed
TransportLocal subprocess (stdio)Remote HTTP/SSE
AuthAPI key requiredNot declared
PricingPaid serviceNot declared
Required env varsTWENTY_FIRST_API_KEYAPI_KEY_21STNone listed
Verified ownerCommunity listingCommunity listing
GitHub stars6,2170
Directory activity 16 views 1 installs 0 upvotes 1 views 0 installs 0 upvotes
ToolsNot listed58

Tools & capabilities

Magic MCP tools

No tool names declared yet. Check the project README from the listing page.

Entity Enricher tools 58

  • upload_attachmentUpload base64 file bytes as reusable source material; returns id and requires_capability. Pass the ID in attachment_ids to sample/schema generation, enrichment or benchmarks. Supported format handling depends on server MIME policy: extracted text or model-readable binary. Prefer auto model selection for attachment capabilities. Uploading does not itself run an LLM. A generated sample with attachments is source-only; see enricher://docs/documents for formats, multiple-file behavior and research workflows. Retain attachments needed for later runs or regeneration.
  • delete_attachmentPermanently delete an attachment in your organization, including its stored file. No LLM call. Existing records remain, but future calls or schema regeneration cannot reuse the deleted source. Delete only when that source is no longer needed; this is not a required post-enrichment step. Returns the deleted ID and filename.
  • start_batch_enrichmentStart billed asynchronous enrichment of an entity list against exactly one of schema_id or target_schema. Returns job_id and total. No fixed entity-count cap; live prompt quotas and credits can stop remaining work. Each entity follows the enrichment/fusion pipeline; every model must succeed for its automatic fusion and database admission. A confident classification mismatch skips that entity without enrichment, never pauses the batch. Poll get_job_status, then list_records(job_id=...). Attachments apply to every entity. Unlike enrich_entity, this tool exposes neither database_sync=false nor web-search activation. Input contracts, partial results and recovery: enricher://docs/batch-enrichment.
  • list_benchmark_scenariosList compact benchmark scenario summaries and total. Scenarios test enrichment, sample generation or schema generation. No LLM call. Read one with get_benchmark_scenario or create one with create_benchmark_scenario. Lifecycle and reference requirements: enricher://docs/model-benchmark.
  • get_benchmark_scenarioRead one benchmark scenario with per-model quality, cost and speed results. include_reference=true adds the reference, the fixed entity_data and the schema-generation entity_samples. Config changes can make existing results stale. No LLM call. For a ranked subset use get_benchmark_scenario_results. Read after run_benchmark completes.
  • get_benchmark_scenario_resultsFilter, rank and limit a scenario's per-model benchmark results. No LLM call. overall blends quality, speed and cost using organization task weights and is null if a component is missing. Status tags are independent: success does not exclude stale or stale_score results. Missing sort metrics come last in either direction. See enricher://docs/model-benchmark for interpretation.
  • create_benchmark_scenarioCreate a reusable benchmark with a mandatory scoring judge. scenario_type='enrichment' needs schema_id and entity_data (the entity to enrich, as enrich_entity takes it — refused when it carries no value; never put it in description); 'sample_generation' needs sample_request; 'schema_generation' needs entity_samples (1..20 samples of one entity type). Enrichment and schema generation need a verified gold reference via set_benchmark_reference before running. Sample generation is rubric-scored and takes no reference. Requires owner and a plan with benchmarks; creating the scenario does not run the models. Returns the scenario and link. Next call run_benchmark when its reference requirements are satisfied. See enricher://docs/model-benchmark.
  • update_benchmark_scenarioEdit a benchmark's test definition or scoring configuration. Requires owner and a plan with benchmarks; no model run. Only supplied fields change, but sample_params and schema_gen_params replace their parameter objects wholesale. The judge may be replaced, not cleared; scenario_type is immutable. Changed test definitions make previous results stale. Re-run affected models to refresh their scores. See enricher://docs/model-benchmark.
  • set_benchmark_referenceSave the gold reference for an enrichment or schema-generation benchmark. Only set reference_verified=true after checking its values against trusted evidence or obtaining human sign-off; a generated answer alone is not verification. Schema-generation references must be GeneratedJsonSchema objects. Sample-generation scenarios reject references because they are rubric-scored. Requires owner and a plan with benchmarks; no LLM call. A verified reference enables run_benchmark. See enricher://docs/model-benchmark.
  • revert_benchmark_reference_updatesUndo automatic edits a scoring pass made to a scenario's reference. Every scoring pass folds what the scored models showed the reference should be (a candidate the judge found better, a rule the samples prove, a value the reference lacked) and writes it into the reference — an edit a pass already made is only replaced by stronger evidence (samples, a wrong verdict, more agreeing models), never by one more model's better verdict; the log is reference_meta.auto_applied on get_benchmark_scenario, each entry with its inverse patch. Pass the revision ids to undo: the inverse is applied, the entry is marked reverted and its (path, attribute) is pinned so no later pass re-applies it (a manual set_benchmark_reference lifts every pin). Scores never go stale from this. Requires owner and a plan with benchmarks. No LLM call.
  • delete_benchmark_scenarioDelete a benchmark scenario and its stored results. Requires owner and a plan with benchmarks. No LLM call; inspect the scenario before deleting it.
  • run_benchmarkStart billed asynchronous execution and scoring of a benchmark. Requires owner, a benchmark-enabled plan and a judge; a verified reference is also required except for sample generation. Supply model_keys or providers; omitting both runs all active models with usable provider keys. Repetitions and judging increase cost. Returns job_id and total_models: poll get_job_status, then read get_benchmark_scenario_results. Re-running replaces each selected model's previous result. An organization's benchmark runs and scoring passes execute one at a time: a launch while another is in flight is queued (queue_position, status 'pending'), and a launch on a scenario whose run is still queued folds its models into that run (merged=true, job_id names the queued run). Reference setup and score interpretation: enricher://docs/model-benchmark.
  • +46 more on the listing page

Ready-to-paste client configs

Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.

Magic MCP

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "21st-dev-magic-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@21st-dev/cli@latest"
      ],
      "env": {
        "TWENTY_FIRST_API_KEY": "YOUR_TWENTY_FIRST_API_KEY_HERE",
        "API_KEY_21ST": "YOUR_API_KEY_21ST_HERE"
      }
    }
  }
}

Entity Enricher

mcpServers (Claude Desktop / Cursor)
{
  "mcpServers": {
    "entity-enricher": {
      "url": "https://entityenricher.ai/api/mcp/"
    }
  }
}

Frequently asked questions

Magic MCP is categorized under Architecture & Design and uses a local stdio subprocess. Entity Enricher belongs to Developer Tools and uses a remote HTTP/SSE transport. Pick Magic MCP for architecture & design work and Entity Enricher for developer tools.

Copy the mcpServers block from the config section on this page into your client's config (for example claude_desktop_config.json or ~/.cursor/mcp.json), then fully restart the client.

Magic MCP is listed as a paid service. Auth: api key required. Entity Enricher has no declared pricing — check the project's own site. If a server needs environment variables such as API keys, define them under the env key in your client's MCP config.

Yes. MCP clients support multiple servers: add 21st-dev-magic-mcp and entity-enricher as separate keys in the same mcpServers object, and your assistant will call tools from either one.

On AllMCPs, Magic MCP has a quality signal of 53/100 (Good) with 16 views, 1 installs and 6,217 GitHub stars. Entity Enricher has 57/100 (Good) with 1 views, 0 installs and 0 GitHub stars.