Spatial presence infrastructure for AI agents.
Not where things are. How they feel.
🌐 Live API • 📚 Docs • 🗺️ Map • 🔌 MCP Server
Google Maps tells you where things are. Vibemap tells you how they feel.
Every location on Earth has a social energy — a frequency produced by the humans and agents present there. Vibemap measures it, persists it, and makes it queryable.
# What's the vibe at Shibuya right now?
curl -X POST https://vibemap.live/v1/vibe-pulse \
-H "Content-Type: application/json" \
-d '{"location": {"lat": 35.6598, "lon": 139.7006}, "radius_meters": 500}'{
"vibe": {
"social": 0.95,
"creative": 0.88,
"commercial": 0.98,
"residential": 0.45
},
"confidence": 0.71,
"unique_agents": 14,
"anchors_in_range": [...]
}Any MCP-compatible agent (Claude, GPT, etc.) can plug in directly:
pip install mcp httpx
python vibemap_mcp.pySix tools, zero config:
| Tool | Description |
|---|---|
get_vibe(lat, lon) |
Sense social energy at any location |
checkin(agent_id, lat, lon) |
Register presence + contribute readings |
memory(lat, lon, query) |
Query what agents have observed here |
list_anchors() |
Browse the global anchor network |
global_pulse() |
Cross-city energy bridge status |
network_health() |
API status |
Vibe Pulse — The aggregated social energy at a location, measured across 4 dimensions (0–1):
social— human interaction densitycreative— artistic and cultural presencecommercial— economic activityresidential— living and dwelling energy
Anchors — Persistent spatial nodes that accumulate energy from agent check-ins. They are the long-term memory of the network. Anyone can plant one.
Agent Check-ins — When an agent checks in, it contributes sensory readings. These modulate nearby anchors and feed the vibe calculation for every future query in range.
Decay — Vibe energy is time-weighted. A check-in from an hour ago matters more than one from last week. The network stays fresh.
Query the social energy of a location.
{
"location": {"lat": 25.7997, "lon": -80.1986},
"radius_meters": 500,
"include_history": false
}Register an agent's presence and contribute sensory data.
{
"agent_id": "my-agent-001",
"location": {"lat": 25.7997, "lon": -80.1986},
"social_reading": 0.85,
"creative_reading": 0.92,
"activity_type": "exploring",
"sensory_payload": {"observation": "Vibrant street art, heavy foot traffic"}
}Plant a new anchor anywhere on Earth.
{
"name": "Brooklyn Anchor - Bushwick",
"location": {"lat": 40.7044, "lon": -73.9228},
"social_energy": 0.82,
"creative_energy": 0.94,
"commercial_energy": 0.60,
"residential_energy": 0.70
}List anchors, optionally filtered by location + radius.
Network-wide energy across all Genesis Anchors.
Query what agents have observed at a location. The spatial memory layer.
GET /v1/memory?lat=25.7997&lon=-80.1986&radius_meters=1000&query=murals&source=human_reportedReturns labeled observations with provenance (human_reported, agent_inferred, sensor_feed, synthetic).
| Endpoint | Description |
|---|---|
GET /v1/enterprise/status |
Verify your API key |
GET /v1/enterprise/predictive-clusters |
Forecast where high-energy clusters form next 4h |
GET /v1/enterprise/training-data |
Export vibe-annotated spatial data for LGM training |
Vibemap currently has 12 anchors across 4 continents:
| City | Neighborhood | Signature Vibe |
|---|---|---|
| 🇺🇸 Miami | Wynwood | Creative/Social — Genesis Anchor |
| 🇰🇷 Seoul | Myeong-dong/Gangnam | Commercial/Social — SWM Integration |
| 🇯🇵 Tokyo | Shibuya | Hyperkinetic commerce |
| 🇺🇸 New York | Lower East Side | Creative resistance |
| 🇩🇪 Berlin | Kreuzberg | Radical creative freedom |
| 🇺🇸 San Francisco | Mission District | Tech/culture collision |
| 🇬🇧 London | Shoreditch | Creative capital node |
| 🇳🇬 Lagos | Victoria Island | Maximum density hustle |
| 🇦🇷 Buenos Aires | Palermo | Latin creative rhythm |
| 🇸🇬 Singapore | Kampong Glam | Multicultural efficiency |
| 🇰🇪 Nairobi | Westlands | Emerging tech energy |
| 🇧🇷 São Paulo | Vila Madalena | Street art underground |
Anyone can add more. Anchors are community infrastructure.
git clone https://github.com/ramezyo/vibemap.git
cd vibemap
docker-compose up -dThe API will be at http://localhost:8000. No external API keys required for core functionality. Optional keys for real-time weather (OPENWEATHER_API_KEY) and Reddit sentiment (REDDIT_*). Venue data uses OpenStreetMap — no key needed.
Agent / LLM
│
├── MCP Server (vibemap_mcp.py)
│ │
└── REST API (FastAPI)
│
┌──────┴──────┐
│ VibeEngine │ ← Haversine + time-decay weighted aggregation
└──────┬──────┘
│
┌───────┴────────┐
│ PostgreSQL │ ← Anchors + check-ins + pulse history
│ (+ PostGIS) │
└───────┬────────┘
│
┌───────┴───────────────────────┐
│ Real-Time Modifiers │
│ Weather · Reddit · Venues │
└───────────────────────────────┘
Stack: Python 3.11 · FastAPI · SQLAlchemy 2.0 async · PostgreSQL/PostGIS · Docker
For AI agents:
"Before I recommend Shibuya to a user, let me check if the energy matches what they're looking for."
For logistics:
"Where will foot traffic cluster in the next 4 hours? Route deliveries accordingly."
For LGM training:
"Export vibe-annotated spatial data to train geospatial foundation models."
For real estate:
"How has the residential energy in this neighborhood trended over 6 months?"
Pull requests welcome. If you want to add an anchor for your city, open a PR adding it to scripts/seed_anchors.py.
See CONTRIBUTING.md for development setup.
MIT — use it, fork it, build on it.
Vibemap is the spatial layer the agentic era was missing.
vibemap.live