Macrocosmos Mcp — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Macrocosmos Mcp (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<p align="center"> Official Macrocosmos <a href="https://github.com/modelcontextprotocol">Model Context Protocol (MCP)</a> server that enables interaction with X (Twitter) and Reddit, powered by Data Universe (SN13) on Bittensor. This server allows MCP clients like <a href="https://www.anthropic.com/claude">Claude Desktop</a>, <a href="https://www.cursor.so">Cursor</a>, <a href="https://codeium.com/windsurf">Windsurf</a>, <a href="https://github.com/openai/openai-agents-python">OpenAI Agents</a> and others to fetch real-time social media data. </p>
uv (Python package manager), install with curl -LsSf https://astral.sh/uv/install.sh | sh or see the uv repo for additional install methods.{
"mcpServers": {
"macrocosmos": {
"command": "uvx",
"args": ["macrocosmos-mcp"],
"env": {
"MC_API": "<insert-your-api-key-here>"
}
}
}
}query_on_demand_data - Real-time Social Media QueriesFetch real-time data from X (Twitter) and Reddit. Best for quick queries up to 1000 results.
Parameters:
| Parameter | Type | Description |
|---|---|---|
source | string | REQUIRED. Platform: 'X' or 'REDDIT' (case-sensitive) |
usernames | list | Up to 5 usernames. For X: @ is optional. Not available for Reddit |
keywords | list | Up to 5 keywords. For Reddit: first item is subreddit (e.g., 'r/MachineLearning') |
start_date | string | ISO format (e.g., '2024-01-01T00:00:00Z'). Defaults to 24h ago |
end_date | string | ISO format. Defaults to now |
limit | int | Max results 1-1000. Default: 10 |
keyword_mode | string | 'any' (default) or 'all' |
Example prompts:
create_gravity_task - Large-Scale Data CollectionCreate a Gravity task for collecting large datasets over 7 days. Use this when you need more than 1000 results.
Parameters:
| Parameter | Type | Description |
|---|---|---|
tasks | list | REQUIRED. List of task objects (see below) |
name | string | Optional name for the task |
email | string | Email for notification when complete |
Task object structure:
{
"platform": "x", // 'x' or 'reddit'
"topic": "#Bittensor", // For X: MUST start with '#' or '$'
"keyword": "dTAO" // Optional: filter within topic
}Important: For X (Twitter), topics MUST start with # or $ (e.g., #ai, $BTC). Plain keywords are rejected.
Example prompts:
get_gravity_task_status - Check Collection ProgressMonitor your Gravity task and see how much data has been collected.
Parameters:
| Parameter | Type | Description |
|---|---|---|
gravity_task_id | string | REQUIRED. The task ID from create_gravity_task |
include_crawlers | bool | Include detailed stats. Default: True |
Returns: Task status, crawler IDs, records_collected, bytes_collected
Example prompts:
build_dataset - Build & Download DatasetBuild a dataset from collected data before the 7-day completion.
Warning: This will STOP the crawler and de-register it from the network.
Parameters:
| Parameter | Type | Description |
|---|---|---|
crawler_id | string | REQUIRED. Get from get_gravity_task_status |
max_rows | int | Max rows to include. Default: 10000 |
email | string | Email for notification when ready |
Example prompts:
get_dataset_status - Check Build Progress & DownloadCheck dataset build progress and get download links when ready.
Parameters:
| Parameter | Type | Description |
|---|---|---|
dataset_id | string | REQUIRED. The dataset ID from build_dataset |
Returns: Build status (10 steps), and when complete: download URLs for Parquet files
Example prompts:
cancel_gravity_task - Stop Data CollectionCancel a running Gravity task.
Parameters:
| Parameter | Type | Description |
|---|---|---|
gravity_task_id | string | REQUIRED. The task ID to cancel |
cancel_dataset - Cancel Build or Purge DatasetCancel a dataset build or purge a completed dataset.
Parameters:
| Parameter | Type | Description |
|---|---|---|
dataset_id | string | REQUIRED. The dataset ID to cancel/purge |
User: "What's the sentiment about $TAO on Twitter today?"
→ Uses query_on_demand_data to fetch recent tweets
→ Returns up to 1000 results instantlyUser: "I need to collect a week's worth of #AI tweets for analysis"
1. create_gravity_task → Returns gravity_task_id
2. get_gravity_task_status → Monitor progress, get crawler_ids
3. build_dataset → When ready, build the dataset
4. get_dataset_status → Get download URL for Parquet fileMIT License Made with love by the Macrocosmos team
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.