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