Steve MCP
by trissino-ai
README.md
# Steve MCP
[Steve](https://www.hiresteve.ai/mcp) tracks your competitors. This remote MCP server lets your AI assistant read that data and act on it, with a source and a date on every answer.
| | |
|---|---|
| Endpoint | `https://app.hiresteve.ai/api/agent/mcp` |
| Transport | Streamable HTTP |
| Auth | OAuth 2.1 with PKCE (S256), dynamic client registration |
| Scopes | `steve:read`, `steve:write` (advertised, not enforced: a connection can read and write as you) |
| Needs | A Steve account. Signals-type organizations cannot connect. |
## Files in this repo
| File | What it is |
|---|---|
| `server.json` | Manifest for the [Official MCP Registry](https://registry.modelcontextprotocol.io) (`ai.hiresteve/steve`). |
| `.well-known/mcp/server-card.json` | Static server card with every tool and its inputs (read by Smithery and other directories). |
| `app/` | The docs site, English and Japanese. Run it locally with the steps at the bottom. |
This repo describes and configures the hosted server. It contains no server code.
## Install
### Claude (desktop and web)
Needs a paid Claude plan. In the desktop app go to **Settings → Connectors**. On claude.ai go to **Settings → Customize → Connectors**. Click **Add custom connector**, paste the endpoint, leave Client ID and Client Secret empty, then approve in the browser.
### Claude Code
```bash
claude mcp add --transport http steve https://app.hiresteve.ai/api/agent/mcp
```
Then sign in from the `/mcp` menu in Claude Code.
### ChatGPT
Open chatgpt.com/plugins, click the plus button, choose **Add custom MCP server**, enter the endpoint, choose OAuth, and create it. Availability depends on your plan and workspace policy.
### Cursor
Add a remote server to `.cursor/mcp.json` (project) or `~/.cursor/mcp.json` (global), then restart Cursor and sign in when asked:
```json
{
"mcpServers": {
"steve": {
"url": "https://app.hiresteve.ai/api/agent/mcp"
}
}
}
```
### VS Code
Run **MCP: Add Server** from the Command Palette, choose **HTTP**, enter the endpoint and a name (for example `steve`), pick Global or Workspace, then sign in when asked. No file editing needed.
## Tools (47)
Read tools count against 300 requests per hour. Write tools count against 60 per hour. The `prepare_*` tools save nothing but use the write limit (except `prepare_generate_report`).
### Projects
- `list_projects` List projects in the connected organization.
- `prepare_create_project` Draft a project from a company website. Saves nothing.
- `create_project` Create a project and its own-company entry.
### Competitors and social accounts
- `list_competitors` List tracked competitors.
- `prepare_add_competitor` Draft competitors from their websites. Saves nothing.
- `add_competitor` Add confirmed competitors.
- `list_tracked_accounts` List tracked LinkedIn, X and Instagram accounts.
- `set_linkedin_handle` Track a LinkedIn account.
- `set_x_handle` Track an X account.
- `set_instagram_handle` Track an Instagram account.
### Intelligence
- `get_news` Competitor news, newest first.
- `get_reviews` Customer reviews for one competitor.
- `get_website_changes` Dated changes seen on competitor websites.
- `get_linkedin_posts` LinkedIn posts.
- `get_twitter_posts` X posts.
- `get_instagram_posts` Instagram posts.
- `get_google_ads` Google ads.
- `get_meta_ads` Meta ads.
### Website tracking (needs the Website tracking feature)
- `discover_website_pages` Crawl a competitor site for trackable pages.
- `prepare_track_website_pages` Pick pages to watch from a plain-language request.
- `track_website_pages` Start watching pages.
- `list_website_tracking_requests` List website trackers.
- `get_website_tracking_status` Read what changed on tracked pages.
- `rerun_website_tracking` Run a tracker again now.
### Battle cards (needs the Battle cards feature)
- `list_battle_cards` List battle cards.
- `get_battle_card` Read a card's saved instructions and state.
- `regenerate_battle_card` Replace a card's instructions and rebuild it.
- `get_battle_card_status` Check a rebuild.
- `share_battle_card` Publish a card to a public link.
- `unshare_battle_card` Take the public link down.
### Competitor discovery
- `discover_competitors` Sweep for competitors you do not track yet.
- `get_discovery_status` Check a sweep.
- `list_discovered_competitors` List what a sweep found.
- `dismiss_discovered_competitor` Dismiss a suggestion.
### Reports
- `list_report_templates` List report templates.
- `prepare_generate_report` Check what a report run would do. Saves nothing.
- `generate_report` Start a report.
- `get_report_status` Check a report run.
- `schedule_report` Set how often a report runs.
- `share_report` Publish a report to a public link.
- `unshare_report` Take the public link down.
### Canvases
- `list_canvas_templates` List canvas templates.
- `generate_canvas` Build a competitor canvas (managers only).
- `get_canvas_status` Check a canvas build.
- `get_canvas` Read a canvas with its sources.
- `share_canvas` Publish a canvas to a public link (managers only).
- `unshare_canvas` Take the public link down.
## Good to know
- Answers come from collected data, never from the assistant's memory. Collection takes minutes to hours and refreshes on a schedule.
- Nothing is public unless a `share_*` tool is called, and assistants are told to ask first.
- Tokens: access lasts 1 hour, renewal 60 days. Revoke any time from Steve's approval page.
## Run the docs locally
```bash
bun install
bun run dev # http://localhost:3002
```
## License
MIT. See `LICENSE`.
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues