Byteland MCP
An MCP server for Byteland, a developer community visualized as a night city. It allows agents to search for developers and projects, read public profiles, view project rooms, and access live activity data. The server provides read-only access to public city views and supports tools for searching, listing projects, and reading room threads.
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://byteland.dev/mcpWhat you can do with it
- Search for developers and projects in the city
- Read public profiles and project details
- List and read project rooms and threads
- View live activity and popular projects
Source and maintenance
Protocol and capabilities
- Server
- byteland 0.5.0
- MCP protocol
- 2025-06-18
- Tools
- 14 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
14 advertised
about — What Byteland is
Short description of Byteland: what buildings, rooms and lights stand for, units, privacy rules and supported languages. A good first call.
{
"type": "object",
"properties": {}
}get_street — A stretch of the street
Buildings in a range (owner, type, floors, light counts) and gaps (alleys, empty lots). Positions in centimetres, at most 80000 cm.
{
"type": "object",
"properties": {
"to": {
"type": "number",
"description": "End x (cm). Default 12000."
},
"from": {
"type": "number",
"description": "Start x (cm). Default -3000."
},
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"mode": {
"enum": [
"kume",
"bos",
"ornek"
],
"type": "string",
"description": "kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles."
},
"seed": {
"type": "string",
"description": "Street seed. Default: gece-sehri."
}
}
}get_building — Building detail
Public detail of one building: the owner’s profile, rooms and their states, machine-readable parts and the building recipe.
{
"type": "object",
"required": [
"ref"
],
"properties": {
"ref": {
"type": [
"string",
"number"
],
"description": "Door number (e.g. 5) or username (e.g. \"@kaanisthatyou\")."
},
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"mode": {
"enum": [
"kume",
"bos",
"ornek"
],
"type": "string",
"description": "kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles."
},
"seed": {
"type": "string",
"description": "Street seed. Default: gece-sehri."
}
}
}get_profile — Profile
A developer’s or company’s profile: bio, links (GitHub, website, socials), badges, projects and open-source contributions. If not on the street, looks for a saved profile, then GitHub; otherwise generates a sample (preview:true).
{
"type": "object",
"required": [
"handle"
],
"properties": {
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"mode": {
"enum": [
"kume",
"bos",
"ornek"
],
"type": "string",
"description": "kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles."
},
"seed": {
"type": "string",
"description": "Street seed. Default: gece-sehri."
},
"github": {
"type": "boolean",
"description": "Look up GitHub’s public data. Default: true."
},
"handle": {
"type": "string",
"description": "Username, with or without @."
}
}
}list_projects — Projects
A profile’s projects: state, description, stack, links (repo, site) plus open-source contributions. Private projects appear only as hidden:true.
{
"type": "object",
"required": [
"handle"
],
"properties": {
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"mode": {
"enum": [
"kume",
"bos",
"ornek"
],
"type": "string",
"description": "kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles."
},
"seed": {
"type": "string",
"description": "Street seed. Default: gece-sehri."
},
"github": {
"type": "boolean",
"description": "Look up GitHub’s public data. Default: true."
},
"handle": {
"type": "string"
}
}
}get_project — One project
A single project of a profile. Returns nothing for private projects.
{
"type": "object",
"required": [
"handle",
"project"
],
"properties": {
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"mode": {
"enum": [
"kume",
"bos",
"ornek"
],
"type": "string",
"description": "kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles."
},
"seed": {
"type": "string",
"description": "Street seed. Default: gece-sehri."
},
"github": {
"type": "boolean",
"description": "Look up GitHub’s public data. Default: true."
},
"handle": {
"type": "string"
},
"project": {
"type": "string",
"description": "Project name or id."
}
}
}search — Search Byteland
Find people, projects and stacks across every resident of the city (people, projects, stacks), plus buildings on the street by username, name, project or technology (results). Private projects never appear.
{
"type": "object",
"required": [
"query"
],
"properties": {
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"mode": {
"enum": [
"kume",
"bos",
"ornek"
],
"type": "string",
"description": "kume (default): the founder’s real building with vacant buildings; bos: topic city, everyone vacant; ornek: demo street full of sample profiles."
},
"seed": {
"type": "string",
"description": "Street seed. Default: gece-sehri."
},
"query": {
"type": "string"
},
"radius": {
"type": "integer",
"maximum": 12,
"minimum": 0,
"description": "Street chunks to scan on both sides (1 chunk = 80 m). Default 4."
}
}
}popular — Most visited
The leaderboard: buildings by unique visits this week (or period: "all"), the most viewed projects and the newest residents. A visit counts once per person per day; owners do not count themselves.
{
"type": "object",
"properties": {
"period": {
"enum": [
"week",
"all"
],
"type": "string"
}
}
}get_stats — Visits of a building
Unique visits (all time and this week), project views, weekly rank and the last 14 days for one username.
{
"type": "object",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string"
}
}
}list_rooms — Rooms of a person
The project rooms of a person that have been used (every public project of a resident has a room, open by default; one nobody wrote in is empty and not listed): mode (open or read-only), channels with message counts, forum threads, last activity and how many are in voice. Closed rooms and private projects never appear.
{
"type": "object",
"required": [
"handle"
],
"properties": {
"handle": {
"type": "string",
"description": "Username, with or without @."
}
}
}read_room — Read a room
The latest messages of one channel of a project room (default: its first channel) and the forum threads (idea, review, question, announcement) with reply and reaction counts.
{
"type": "object",
"required": [
"handle",
"project"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 100,
"minimum": 1,
"description": "How many recent messages. Default 30."
},
"handle": {
"type": "string"
},
"channel": {
"type": "string",
"description": "Channel name or id. Default: the first channel."
},
"project": {
"type": "string",
"description": "Project id (the repository name for GitHub projects)."
}
}
}read_thread — Read a forum thread
One forum thread of a project room with all of its replies and reactions.
{
"type": "object",
"required": [
"handle",
"project",
"thread"
],
"properties": {
"handle": {
"type": "string"
},
"thread": {
"type": "integer",
"description": "Thread id (from read_room)."
},
"project": {
"type": "string"
}
}
}live — What is happening now
Voice rooms with people in them right now and the rooms with messages in the last 48 hours. Voice presence comes from the running site (BYTELAND_URL, default http://127.0.0.1:8787); without it only the recent rooms are known.
{
"type": "object",
"properties": {}
}preview_building — Deed preview
Builds a user's building as if it stood at the start of a street (GitHub repositories become rooms). The preview is not added to the city. Append the returned url_hash to index.html to open it on the site.
{
"type": "object",
"required": [
"handle"
],
"properties": {
"lang": {
"enum": [
"en",
"tr",
"es",
"pt",
"fr",
"de",
"it",
"nl",
"pl",
"ru",
"uk",
"ar",
"hi",
"id",
"zh",
"ja",
"ko"
],
"type": "string",
"description": "Language of text fields (recipe, badges, topic names). Default: en."
},
"github": {
"type": "boolean",
"description": "Look up GitHub’s public data. Default: true."
},
"handle": {
"type": "string"
}
}
}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
- 1259 ms
- 95th percentile latency
- 1259 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 1259 ms · metadata changed · 14 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http byteland-mcp https://byteland.dev/mcpCodex
codex mcp add byteland-mcp --url https://byteland.dev/mcpCursor
{
"mcpServers": {
"byteland-mcp": {
"url": "https://byteland.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"byteland-mcp": {
"type": "streamableHttp",
"url": "https://byteland.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"byteland-mcp": {
"type": "http",
"url": "https://byteland.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http byteland-mcp https://byteland.dev/mcpClaude Desktop
{
"mcpServers": {
"byteland-mcp": {
"url": "https://byteland.dev/mcp"
}
}
}Windsurf
{
"mcpServers": {
"byteland-mcp": {
"serverUrl": "https://byteland.dev/mcp"
}
}
}Let your agent find its tools
Find servers like Byteland MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.
Other developer tools servers
Do you run Byteland 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.