{"_id":"@atfilter/mcp-server","name":"@atfilter/mcp-server","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@atfilter/mcp-server","version":"1.0.0","description":"MCP server for @Filter Signal Engine API — query content filtering intelligence via Claude Desktop, Cursor, or VS Code","type":"module","main":"dist/index.js","bin":{"atfilter-mcp":"dist/index.js"},"scripts":{"build":"tsc","start":"node dist/index.js","dev":"tsc --watch","prepublishOnly":"tsc"},"keywords":["mcp","model-context-protocol","atfilter","content-filtering","signal-api","claude","cursor","vscode","ai-tools"],"repository":{"type":"git","url":"git+https://github.com/netcems2-cell/atfilter-ext.git","directory":"mcp-server"},"homepage":"https://atfilter.com/portal/docs","license":"MIT","engines":{"node":">=18"},"dependencies":{"@modelcontextprotocol/sdk":"^1.26.0","zod":"^4.3.6"},"devDependencies":{"@types/node":"^20","typescript":"^5"},"_id":"@atfilter/mcp-server@1.0.0","gitHead":"0304594d32c311a8b876f5836c5bc4aeb5ec5060","types":"./dist/index.d.ts","bugs":{"url":"https://github.com/netcems2-cell/atfilter-ext/issues"},"_nodeVersion":"22.20.0","_npmVersion":"10.9.3","dist":{"integrity":"sha512-ChQg5pSmBZ5WrrE2/Y17kEK5vIJjCfYSObOmoXNHDrASGawXj999jsjl21Z4kRJsWoIayYQwewigDHhnD9om0A==","shasum":"c086dcb6adedd6fba4b78166fd5315f7c31490ac","tarball":"https://registry.npmjs.org/@atfilter/mcp-server/-/mcp-server-1.0.0.tgz","fileCount":4,"unpackedSize":16225,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIG4bdXfF0hUmR7+T3SrfGRTjKHGoFYoEbbXMslw3KGU6AiEAolJgBeWqZpzWOdnkQiiRTIUP6xFGoWpfjYpj3MHjOAM="}]},"_npmUser":{"name":"lejunyin","email":"lejun.yin@atfilter.com"},"directories":{},"maintainers":[{"name":"lejunyin","email":"lejun.yin@atfilter.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/mcp-server_1.0.0_1771904643682_0.8305400437673462"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-24T03:44:03.618Z","1.0.0":"2026-02-24T03:44:03.882Z","modified":"2026-02-24T03:44:04.064Z"},"maintainers":[{"name":"lejunyin","email":"lejun.yin@atfilter.com"}],"description":"MCP server for @Filter Signal Engine API — query content filtering intelligence via Claude Desktop, Cursor, or VS Code","homepage":"https://atfilter.com/portal/docs","keywords":["mcp","model-context-protocol","atfilter","content-filtering","signal-api","claude","cursor","vscode","ai-tools"],"repository":{"type":"git","url":"git+https://github.com/netcems2-cell/atfilter-ext.git","directory":"mcp-server"},"bugs":{"url":"https://github.com/netcems2-cell/atfilter-ext/issues"},"license":"MIT","readme":"# @Filter MCP Server\n\nMCP (Model Context Protocol) server for the @Filter Signal Engine API. Connect to Claude Desktop, Cursor, VS Code, or any MCP-compatible AI client to query content filtering intelligence using natural language.\n\n## Setup\n\n### 1. Get your API key\n\nSubscribe to the Professional plan at [atfilter.com/portal/pricing](https://atfilter.com/portal/pricing) and copy your API key from the account page.\n\n### 2. Configure your AI client\n\n#### Claude Desktop\n\nEdit `%APPDATA%\\Claude\\claude_desktop_config.json` (Windows) or `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"atfilter\": {\n      \"command\": \"node\",\n      \"args\": [\"C:/path/to/atfilter/mcp-server/dist/index.js\"],\n      \"env\": {\n        \"ATFILTER_API_KEY\": \"atf_your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n#### Cursor\n\nAdd to `.cursor/mcp.json` in your project root:\n\n```json\n{\n  \"mcpServers\": {\n    \"atfilter\": {\n      \"command\": \"node\",\n      \"args\": [\"C:/path/to/atfilter/mcp-server/dist/index.js\"],\n      \"env\": {\n        \"ATFILTER_API_KEY\": \"atf_your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n#### VS Code\n\nAdd to `.vscode/mcp.json`:\n\n```json\n{\n  \"servers\": {\n    \"atfilter\": {\n      \"type\": \"stdio\",\n      \"command\": \"node\",\n      \"args\": [\"C:/path/to/atfilter/mcp-server/dist/index.js\"],\n      \"env\": {\n        \"ATFILTER_API_KEY\": \"atf_your_api_key_here\"\n      }\n    }\n  }\n}\n```\n\n## Available Tools\n\n| Tool | Description |\n|---|---|\n| `signals_top_keywords` | Get the most suppressed keywords |\n| `signals_keyword_timeseries` | Track a keyword's activity over time |\n| `signals_geo_heat` | Geographic distribution of filtering activity |\n| `signals_domain_timeseries` | Track a domain's filtering activity over time |\n| `signals_query` | Flexible multi-dimension query (filter + group by any combination) |\n| `signals_trending` | Detect fastest-growing keywords, domains, platforms |\n| `signals_keyword_activity` | See which keywords users are adding or removing from filter lists |\n\n## Example Prompts\n\nOnce connected, you can ask your AI assistant things like:\n\n- \"What are the top 20 keywords being filtered right now?\"\n- \"Show me the trend for 'immigration' over the past week\"\n- \"Which domains have the most filtering activity in the US?\"\n- \"What keywords are trending fastest in the last 24 hours?\"\n- \"Compare filtering activity on social media vs news sites in Pennsylvania this month\"\n- \"Show me a breakdown of suppression activity by country and platform for the last 30 days\"\n\n## Environment Variables\n\n| Variable | Required | Default | Description |\n|---|---|---|---|\n| `ATFILTER_API_KEY` | Yes | — | Your @Filter API key |\n| `ATFILTER_API_URL` | No | `https://atfilter.com` | API base URL (for development) |\n\n## Development\n\n```bash\nnpm install\nnpm run build\nnpm start\n```\n","readmeFilename":"README.md","_rev":"1-6621cfb0a3acfafb692efb88f02beb37"}