PearlGraph MCP
An open-source MCP server providing source-backed Uganda tourism data for AI agents, including attractions, Uganda Wildlife Authority fees, real road drive times, seasons, and itinerary planning tools.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://api.pearl100.com/mcpWhat you can do with it
- Retrieve Uganda attraction details and access rules
- Calculate real road drive times and distances
- Plan itineraries respecting opening hours and seasons
- Access UWA fees and tariff validity periods
Source and maintenance
Protocol and capabilities
- Server
- pearlgraph 0.7.0
- MCP protocol
- 2025-06-18
- Tools
- 1 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Tools
1 advertised
pearlgraph — PearlGraph Uganda tourism data
Single entry point to all PearlGraph Uganda tourism data. Pick an `action`: map (audience, month) - unified map, entry rules and source catalogue; attractions (query, region, category) - parks, sites, hours, activities, durations; fees (feeIds) - UWA tariffs, including the low season permit rates for April, May and November; route (from, to, month) - road km and drive time; plan (start, stops | days, month) - build or check an itinerary by drive time, opening hours and activity length; lodges (near, tier, district, type, query) - stays, `near` = attraction id within 90 min drive; districts (query, region); essentials (audience: foreign|local); seasons (region) - seasons and operators; permits (attractionId) - permit capacity per sector and access rules; transport (query) - airstrips, flights, ferries; search (query, kind: attraction|district|stay) - meaning-based search over free text, e.g. 'see apes in rainforest'; graph (query = id or name, depth 1-2, predicate) - knowledge-graph links: inDistrict, inRegion, isA, offers, pricedBy, anchoredAt, roadTo. Ids come from earlier results (e.g. kampala, bwindi-rushaga).
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"action"
],
"properties": {
"to": {
"type": "string",
"maxLength": 60
},
"days": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "object",
"required": [
"attractionId",
"activityId"
],
"properties": {
"activityId": {
"type": "string",
"maxLength": 60
},
"attractionId": {
"type": "string",
"maxLength": 60
}
}
},
"maxItems": 6
},
"maxItems": 30
},
"from": {
"type": "string",
"maxLength": 60
},
"kind": {
"enum": [
"attraction",
"district",
"stay"
],
"type": "string"
},
"near": {
"type": "string",
"maxLength": 60
},
"tier": {
"enum": [
"budget",
"mid-range",
"upmarket",
"luxury"
],
"type": "string"
},
"type": {
"enum": [
"lodge",
"hotel",
"guesthouse",
"camp",
"motel",
"hostel",
"apartment"
],
"type": "string"
},
"depth": {
"type": "integer",
"maximum": 2,
"minimum": 1
},
"month": {
"type": "integer",
"maximum": 12,
"minimum": 1
},
"query": {
"type": "string",
"maxLength": 100
},
"start": {
"type": "string",
"maxLength": 60
},
"stops": {
"type": "array",
"items": {
"type": "object",
"required": [
"attractionId",
"activityId"
],
"properties": {
"activityId": {
"type": "string",
"maxLength": 60
},
"attractionId": {
"type": "string",
"maxLength": 60
}
}
},
"maxItems": 30
},
"action": {
"enum": [
"map",
"attractions",
"fees",
"route",
"plan",
"lodges",
"districts",
"essentials",
"seasons",
"permits",
"transport",
"search",
"graph"
],
"type": "string"
},
"feeIds": {
"type": "array",
"items": {
"type": "string",
"maxLength": 60
},
"maxItems": 20
},
"region": {
"type": "string",
"maxLength": 40
},
"audience": {
"enum": [
"foreign",
"local"
],
"type": "string"
},
"category": {
"type": "string",
"maxLength": 40
},
"district": {
"type": "string",
"maxLength": 40
},
"predicate": {
"type": "string",
"maxLength": 30
},
"attractionId": {
"type": "string",
"maxLength": 60
}
},
"additionalProperties": false
}{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"schemaVersion",
"sources"
],
"properties": {
"map": {},
"days": {
"type": "array",
"items": {}
},
"fees": {
"type": "array",
"items": {}
},
"graph": {},
"route": {},
"rules": {
"type": "array",
"items": {}
},
"issues": {
"type": "array",
"items": {}
},
"lodges": {
"type": "array",
"items": {}
},
"quotas": {
"type": "array",
"items": {}
},
"schema": {
"type": "string"
},
"ferries": {
"type": "array",
"items": {}
},
"flights": {
"type": "array",
"items": {}
},
"journey": {},
"results": {
"type": "array",
"items": {}
},
"seasons": {
"type": "array",
"items": {}
},
"sources": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"institution",
"title",
"url",
"published"
],
"properties": {
"id": {
"type": "string"
},
"url": {
"type": "string"
},
"title": {
"type": "string"
},
"accessed": {
"type": "string"
},
"published": {
"type": [
"string",
"null"
]
},
"institution": {
"type": "string"
}
},
"additionalProperties": {}
}
},
"feasible": {
"type": "boolean"
},
"airstrips": {
"type": "array",
"items": {}
},
"districts": {
"type": "array",
"items": {}
},
"operators": {
"type": "array",
"items": {}
},
"essentials": {
"type": "array",
"items": {}
},
"attractions": {
"type": "array",
"items": {}
},
"travelRules": {},
"unplaceable": {
"type": "array",
"items": {}
},
"schemaVersion": {
"type": "string"
}
},
"additionalProperties": {}
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 1403 ms
- 95th percentile latency
- 1403 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1403 ms · metadata changed · 1 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http pearlgraph-mcp https://api.pearl100.com/mcpCodex
codex mcp add pearlgraph-mcp --url https://api.pearl100.com/mcpCursor
{
"mcpServers": {
"pearlgraph-mcp": {
"url": "https://api.pearl100.com/mcp"
}
}
}Cline
{
"mcpServers": {
"pearlgraph-mcp": {
"type": "streamableHttp",
"url": "https://api.pearl100.com/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"pearlgraph-mcp": {
"type": "http",
"url": "https://api.pearl100.com/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http pearlgraph-mcp https://api.pearl100.com/mcpClaude Desktop
{
"mcpServers": {
"pearlgraph-mcp": {
"url": "https://api.pearl100.com/mcp"
}
}
}Windsurf
{
"mcpServers": {
"pearlgraph-mcp": {
"serverUrl": "https://api.pearl100.com/mcp"
}
}
}Let your agent find its tools
Find servers like PearlGraph MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other data and analytics servers
Do you run PearlGraph MCP?
Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.