Developers

Set Up A Project From Claude

With the Medialyst MCP connected, Claude can prepare a client project from one prompt. The MCP credential needs projects:manage, and adding memory or files needs a paid plan.

Existing connections

Existing full-access connections were upgraded automatically. If you deliberately narrowed a credential, create a new key or reconnect to grant project access.

Copy, fill in, and send this prompt to Claude:

Create a Medialyst project for Acme.

Add these durable client facts:
- Acme sells security software to North American enterprise teams.
- The spokesperson is Jordan Lee, CEO.

Add this ranking preference:
- National technology reporters rank first for product launches: Acme needs broad buyer awareness before trade follow-up.

Upload this brief as a Markdown file named acme-launch-brief.md:

# Acme launch brief

Acme is launching Sentinel on October 15, 2026.

After uploading, poll the file until it is ready, then tell me the project id,
memory version, file id, and whether the project is ready for media-list
planning. Do not create a media list yet.

Claude calls create_project, adds each durable fact with add_project_memory_line, uploads the brief with upload_project_file, and polls get_project_file until extraction finishes. Once the file is ready, the project context is available to media-list planning. For the in-app workflow, plan allowances, and how the agent reads files and memory, see Projects, Files, and Memory.

upload_project_file also accepts a human-readable title without a known project-file extension, including titles with dots such as Q3 results v2.1. It appends .md by default or .txt for mime_type: "text/plain". When mime_type is omitted, .txt selects plain text and .md or .markdown selects Markdown; an explicit mime type and known project-file extension must agree.

Memory Grammar

SectionUse it forRequired shape
About the clientDurable client, market, competitor, spokesperson, and tier factsOne fact per line; include the pitching consequence when relevant
Ranking preferencesWho ranks first/last, tiers, send order, and A/B outlet lists<who or what> ranks <higher/lower/first/last> on <what>: <why>
NeverNo-exception exclusionsNever <action> <who>: <why>
Pitch voiceTone, sign-offs, and words to avoidOne instruction per line

Ranking preferences and Never rules must include a reason after a colon. Keep each line to one durable claim and at most 300 characters. Campaign-only details belong in the uploaded brief, not project memory.

Updating Existing Memory

For one new fact, keep using add_project_memory_line. For a deliberate full rewrite, call get_project_memory, edit the returned Markdown, and call set_project_memory with the returned version as expected_version. If the document changed in the meantime, Claude receives a version conflict and must read, merge, and retry instead of overwriting another edit.

Set Up Radar

For an enrolled organization, Claude can set up project news tracking with list_projects → get_project_memory → set_up_radar → list_radar_opportunities. It must write ## About, ## Watch, ## Standing, ## Never, and ## Prefer, keep each bullet to 300 characters or fewer, and use only facts supported by project memory. Radar setup uses the same projects:manage scope and is agent-managed on every plan; plan Radar-count limits still apply. Claude can call run_radar for a fresh scan. The setup-time scan does not count; two Scan-now runs are allowed per Radar local day.

Use get_radar before update_radar and pass the returned markdownVersion as expected_version. update_radar_settings controls pause/resume, the local scan hour, and digest delivery. To deliver to Slack, pass a Slack Incoming Webhook as slack_webhook_url, set slack_digest_enabled: true, and optionally set send_test: true. A setup-time webhook enables Slack by default; later replacements preserve the current enabled state. Set the URL to null or an empty string to remove it. The webhook is write-only: Claude sees only configured/enabled status and a masked tail, and the same projects:manage scope is reused. send_radar_feedback accepts every app verdict, including undo; get_radar_today returns a paginated, markdown-free organization view. Opportunity responses are capped at 50 items; while page.truncated is true, pass page.next_cursor back to list_radar_opportunities.