{
  "markdown": "# Signal Relay - SocioLogic MCP Server\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![MCP](https://img.shields.io/badge/MCP-Compatible-blue)](https://modelcontextprotocol.io)\n\nA remote MCP (Model Context Protocol) server that connects AI agents to [SocioLogic's](https://sociologic.ai) synthetic persona platform. Interview realistic customer personas, run multi-persona research campaigns, and export board-ready reports—all through natural conversation.\n\n## Features\n\n- **24 MCP Tools** - Personas, campaigns, focus groups, web research, RNG, credits, and payments\n- **High-Fidelity Personas** - Synthetic personas with consistent demographics, psychographics, and behavior\n- **Semantic Memory** - RAG-powered memory retrieval for persona continuity across conversations\n- **Edge Deployed** - Runs on Cloudflare Workers (300+ locations, <50ms latency)\n- **Secure** - API key authentication, request validation, no data stored on edge\n\n## Quick Start\n\n### Use the Hosted Server (Recommended)\n\nThe fastest way to get started is using our hosted server at `https://mcp.sociologic.ai`.\n\n1. **Get an API key** at [sociologic.ai/dashboard/api-keys](https://sociologic.ai/dashboard/api-keys) (100 free credits on signup)\n\n2. **Configure your MCP client:**\n\n**Claude Desktop** (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n```json\n{\n  \"mcpServers\": {\n    \"sociologic\": {\n      \"transport\": \"http\",\n      \"url\": \"https://mcp.sociologic.ai\",\n      \"headers\": {\n        \"X-API-Key\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n**Claude Code** (`.mcp.json` in your project):\n```json\n{\n  \"mcpServers\": {\n    \"sociologic\": {\n      \"transport\": \"http\",\n      \"url\": \"https://mcp.sociologic.ai\",\n      \"headers\": {\n        \"X-API-Key\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n3. **Start chatting!** Ask Claude to interview personas, create campaigns, or explore the marketplace.\n\n## Self-Hosting\n\nDeploy your own instance to Cloudflare Workers:\n\n### Prerequisites\n\n- [Node.js](https://nodejs.org/) v18+\n- [Cloudflare account](https://dash.cloudflare.com/sign-up) (free tier works)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/SocioLogicAI/signal-relay.git\ncd signal-relay\n\n# Install dependencies\nnpm install\n\n# Login to Cloudflare\nnpx wrangler login\n\n# Deploy\nnpx wrangler deploy\n```\n\nYour server will be available at `https://sociologic-mcp-server.<your-subdomain>.workers.dev`\n\n### Local Development\n\n```bash\nnpm run dev\n```\n\nStarts a local server at `http://localhost:8787`.\n\n## Available Tools\n\n| Tool | Description |\n|------|-------------|\n| `sociologic_list_personas` | List synthetic personas from marketplace or private collection |\n| `sociologic_get_persona` | Get detailed persona information (demographics, psychographics, traits) |\n| `sociologic_create_persona` | Generate a new persona from natural language description |\n| `sociologic_get_persona_memories` | Retrieve persona's semantic memories via vector search |\n| `sociologic_list_campaigns` | List research campaigns with status and results |\n| `sociologic_get_campaign` | Get campaign details including interviews and findings |\n| `sociologic_create_campaign` | Create multi-persona research campaign with custom questions |\n| `sociologic_execute_campaign` | Execute draft campaign (async background processing) |\n| `sociologic_export_campaign` | Export campaign results as PDF or JSON |\n| `sociologic_list_focus_groups` | List focus groups for cohort-based research |\n| `sociologic_get_focus_group` | Get focus group details with member personas |\n| `sociologic_create_focus_group` | Create new focus group to organize personas |\n| `sociologic_add_personas_to_focus_group` | Add personas to an existing focus group |\n| `sociologic_get_credits_balance` | Check current credits balance and usage |\n| `sociologic_search_web` | Search the web and scrape results |\n| `sociologic_research_topic` | Research a topic with multiple sources |\n\n## API Endpoints\n\n| Endpoint | Method | Description |\n|----------|--------|-------------|\n| `/` | POST | JSON-RPC 2.0 endpoint for MCP protocol |\n| `/health` | GET | Health check (requires API key) |\n| `/info` | GET | Server information and available tools |\n\n## Example Usage\n\n### List Available Personas\n\n```bash\ncurl -X POST https://mcp.sociologic.ai/ \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-API-Key: YOUR_API_KEY\" \\\n  -d '{\n    \"jsonrpc\": \"2.0\",\n    \"id\": 1,\n    \"method\": \"tools/call\",\n    \"params\": {\n      \"name\": \"sociologic_list_personas\",\n      \"arguments\": {\n        \"visibility\": \"public\",\n        \"per_page\": 10\n      }\n    }\n  }'\n```\n\n## Configuration\n\n### Environment Variables\n\n| Variable | Description | Default |\n|----------|-------------|---------|\n| `SOCIOLOGIC_API_URL` | Backend API URL | `https://www.sociologic.ai` |\n\n### wrangler.toml\n\n```toml\n[vars]\nSOCIOLOGIC_API_URL = \"https://www.sociologic.ai\"\n```\n\n## Security\n\n- **API keys** are passed via `X-API-Key` header or `Authorization: Bearer` header\n- **Request size** limited to 1MB to prevent DoS\n- **Input validation** via Zod schemas on all tool parameters\n- **No data stored** on edge - all data flows through to the SocioLogic API\n\n### Rate Limiting\n\nFor production deployments, we recommend enabling Cloudflare's rate limiting:\n\n1. Go to Cloudflare Dashboard > Security > WAF > Rate limiting rules\n2. Create a rule: 100 requests per 10 seconds per IP\n\n## Architecture\n\n```\n┌─────────────────┐      ┌─────────────────────┐      ┌─────────────────┐\n│                 │      │                     │      │                 │\n│   MCP Client    │─────▶│  Cloudflare Worker  │─────▶│  SocioLogic API │\n│  (Claude, etc)  │      │   (This Server)     │      │                 │\n│                 │◀─────│                     │◀─────│                 │\n└─────────────────┘      └─────────────────────┘      └─────────────────┘\n        │                         │                          │\n        │    MCP Protocol         │    REST API              │\n        │    (JSON-RPC 2.0)       │    (HTTPS)               │\n        └─────────────────────────┴──────────────────────────┘\n```\n\n## Pricing\n\n| Operation | Credits |\n|-----------|---------|\n| List personas | 1 |\n| Get persona | 1 |\n| Create persona | 5-50 (by fidelity tier) |\n| Interview persona | 1 per message |\n| Campaign execution | Varies by size |\n\n**Free tier:** 100 credits on signup. See [sociologic.ai/pricing](https://sociologic.ai/pricing) for details.\n\n## Contributing\n\nContributions are welcome! Please feel free to submit a Pull Request.\n\n1. Fork the repository\n2. Create your feature branch (`git checkout -b feature/amazing-feature`)\n3. Commit your changes (`git commit -m 'Add some amazing feature'`)\n4. Push to the branch (`git push origin feature/amazing-feature`)\n5. Open a Pull Request\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.\n\n## Links\n\n- [SocioLogic Website](https://sociologic.ai)\n- [API Documentation](https://sociologic.ai/docs)\n- [MCP Protocol Specification](https://modelcontextprotocol.io)\n- [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/)\n",
  "bytes": 7214,
  "sha": "affd41ce1cecee16758dffccb45737ce24a1a43f302c278adf58b006eed7557a",
  "repo_slug": "sociologicai/signal-relay",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_sociologicai_signal_relay_487997d4/readme"
}