Metadata-Version: 2.4
Name: mindscast-mcp
Version: 0.1.0
Summary: Mindscast MCP server — extract Product Context Documents (PCDs) using YOUR LLM, send only validated JSON to api.mindscast.app. Your source code never leaves your laptop.
Project-URL: Homepage, https://mindscast.app
Project-URL: Repository, https://github.com/yagebin79386/flowcontent/tree/main/mcp
Project-URL: Trust, https://github.com/yagebin79386/flowcontent/blob/main/mcp/TRUST.md
Author-email: Mindscast <hello@mindscast.app>
License: BSL-1.1 (see https://github.com/yagebin79386/flowcontent/blob/main/LICENSE)
Keywords: claude,llm,marketing,mcp,product-context
Requires-Python: >=3.10
Requires-Dist: httpx<1,>=0.27
Requires-Dist: mcp<2,>=1.0
Requires-Dist: pydantic<3,>=2.7
Description-Content-Type: text/markdown

# mindscast-mcp

> Extract a Mindscast **Product Context Document (PCD)** using **your own
> LLM** (Claude Desktop, Cursor, Claude Code, ...). Your source code never
> leaves your laptop. We see only the structured marketing JSON you approved.

This package is the path **C** of Mindscast's PCD ingest. Paths A (landing
URL crawl) and B (GitHub README fetch) run server-side and are simpler but
less private. Path C is for users who want maximum control: dev/AI/OSS
founders, privacy-conscious teams, or anyone whose product story lives
across private docs we can't access.

See [`TRUST.md`](TRUST.md) for the full audit checklist + what this server
does NOT do.

## Quickstart (Claude Desktop)

1. **Generate an API key** at https://app.mindscast.app/settings/api-keys

2. **Install** in one of these ways:

   ```bash
   # Recommended: uvx (no global install)
   # In your MCP client config (see step 3) use:  "command": "uvx", "args": ["mindscast-mcp"]

   # Or pip:
   pip install mindscast-mcp
   ```

3. **Wire to Claude Desktop**. Edit `~/Library/Application Support/Claude/claude_desktop_config.json`
   (macOS) or the equivalent on your OS:

   ```json
   {
     "mcpServers": {
       "mindscast": {
         "command": "uvx",
         "args": ["mindscast-mcp"],
         "env": {
           "MINDSCAST_API_KEY": "msk_<your generated key>"
         }
       }
     }
   }
   ```

   Restart Claude Desktop.

4. **Tell Claude** what to do, in plain English:

   > Use the Mindscast extract_pcd prompt. Read my product at `/Users/me/code/wakeworth`.
   > Emit the ProductContext JSON. Then validate_pcd it. If clean, upload_pcd
   > with product_id "wakeworth".

5. **Review** the JSON Claude emits **before** approving the upload tool
   call. Your LLM client (Claude Desktop / Cursor / etc.) will ask you to
   confirm each tool invocation.

That's it. You'll then see the PCD in
https://app.mindscast.app/pcd ready for content generation.

## What gets sent over the network

Exactly **one** outbound HTTPS call per successful run:

```
PUT https://api.mindscast.app/api/pcd/{product_id}
X-API-Key: msk_***
Content-Type: application/json

{ ...the ProductContext you approved... }
```

That's the whole network surface. Source code, file paths, intermediate
LLM messages — none of those traverse our infrastructure.

## Other MCP clients

Works in any client that supports MCP stdio servers:

- **Cursor**: `cursor://settings → MCP Servers` (similar JSON config)
- **Claude Code (CLI)**: `claude mcp add mindscast --command uvx --args mindscast-mcp --env MINDSCAST_API_KEY=msk_...`
- **Continue.dev**: see their MCP docs

## Manual mode (no upload)

You don't have to use the `upload_pcd` tool. You can:

1. Tell Claude to run `extract_pcd` only
2. Copy the JSON it emits
3. Paste it into the PCD edit form at https://app.mindscast.app/pcd/<product_id>
4. Click Save

This gives you 100% manual control. The MCP server is a convenience layer
on top of the public REST API — nothing in MCP is privileged.

## License

BSL 1.1. See [`../LICENSE`](../LICENSE).
