Koskamo

Tessera MCP

An MCP server that provides Human Design chart calculations, transit analysis, and relationship compatibility checks using the Tessera engine. It supports generating charts from birth data, comparing two people's charts, explaining terms, and retrieving transits for specific dates, with outputs in English, Dutch, and German.

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.

Tessera MCP logo, by BigBalli ConsultingVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-02Operated by BigBalli Consulting
MCP endpoint (Streamable HTTP)
https://bigballi.com/Tessera/mcp
Vendor documentation

What its tools do

4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

4 of 4 have a description · 4 of 4 declare behavior hints · 2 of 4 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to bigballi.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Calculate Human Design chart from birth data
  • Check Human Design transits for a specific date
  • Compare Human Design compatibility between two people
  • Explain specific Human Design terms

Source and maintenance

Vendor evidenceRegistry 1.0.0
Maintenance checked

Protocol and capabilities

Server
tessera 1.0.0
MCP protocol negotiated in check
2025-06-18
Tools
4 advertised
Resources
1 advertised
Resource templates
0 advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "resources": {
    "listChanged": false
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Tessera: Human Design charts calculated from birth data, with original explanations in English, Dutch and German. Use get_chart for a person's chart from date, time and place of birth (Type, Strategy, Authority, Profile, Definition, Incarnation Cross, centres, channels and all 26 gate activations), get_transits for the gates the planets activate today or on a date, optionally against a person's chart, compare_charts for the channels two people form together, and explain for any type, authority, profile, line, centre, channel, gate or basic topic. A chart depends on the exact birth time: when it is unknown or approximate, birth_time_sensitivity lists which parts could change. The place is used only to find the historical time zone, and nothing sent to these tools is stored.

Tools

4 advertised

get_chart — Human Design chart from birth data
Advertised by the server during the last successful anonymous check.
Advertised read-only

Computes a person's Human Design chart from date, time and place of birth: Type with Strategy, Signature and Not-Self theme, Authority, Profile, Definition, Incarnation Cross angle and gates, defined and open centres, defined channels, and all 26 Personality and Design activations (planet, gate, line). Each element comes with its title and a one-line summary. When the birth time is unknown or approximate, it lists which parts of the chart could change within that window. Positions come from an ephemeris calculation (true lunar node, Design moment at 88 degrees of solar arc before birth), with historical time zones.

get_chart input schema
{
  "type": "object",
  "required": [
    "birth_date"
  ],
  "properties": {
    "language": {
      "enum": [
        "en",
        "nl",
        "de"
      ],
      "type": "string",
      "description": "Language of the titles and summaries: en (default), nl (Dutch) or de (German)."
    },
    "timezone": {
      "type": "string",
      "maxLength": 64,
      "description": "IANA time zone of the birthplace, e.g. \"Europe/Berlin\". Needed only when the place is not found; overrides the place's zone when given."
    },
    "birth_date": {
      "type": "string",
      "maxLength": 10,
      "description": "the person's date of birth as YYYY-MM-DD, e.g. \"1988-03-21\"."
    },
    "birth_time": {
      "type": "string",
      "maxLength": 5,
      "description": "the person's local clock time of birth, 24-hour HH:MM, e.g. \"14:05\". Leave out when unknown: noon is used and time_uncertainty_minutes defaults to 720."
    },
    "birth_place": {
      "type": "string",
      "maxLength": 120,
      "description": "Where the person's was born, as \"City\", \"City, Country\" or \"City, Region, Country\", e.g. \"Utrecht, Netherlands\", \"Springfield, Illinois, USA\". Used only to find the time zone."
    },
    "time_uncertainty_minutes": {
      "type": "integer",
      "maximum": 720,
      "minimum": 0,
      "description": "How far off the birth time may be, in minutes either way (e.g. 30 for \"around half past two\"). The result then says which parts of the chart could change."
    }
  },
  "additionalProperties": false
}
get_chart annotations
{
  "title": "Human Design chart from birth data",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_transits — Human Design transits for a date
Advertised by the server during the last successful anonymous check.
Advertised read-only

The gates and lines the Sun, Moon, nodes and planets activate at a moment (now by default, or a given date and time in UTC). With a person's birth data it also lists the channels the transits complete with that person's own gates, the usual way to read a day's influence, apart from channels the transits form on their own.

get_transits input schema
{
  "type": "object",
  "properties": {
    "date": {
      "type": "string",
      "maxLength": 10,
      "description": "Day to look at as YYYY-MM-DD (default today)."
    },
    "person": {
      "type": "object",
      "required": [
        "birth_date"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 40,
          "description": "A first name or label, only to tell the two people apart in the answer."
        },
        "timezone": {
          "type": "string",
          "maxLength": 64,
          "description": "IANA time zone of the birthplace, e.g. \"Europe/Berlin\". Needed only when the place is not found; overrides the place's zone when given."
        },
        "birth_date": {
          "type": "string",
          "maxLength": 10,
          "description": "The person's date of birth as YYYY-MM-DD, e.g. \"1988-03-21\"."
        },
        "birth_time": {
          "type": "string",
          "maxLength": 5,
          "description": "The person's local clock time of birth, 24-hour HH:MM, e.g. \"14:05\". Leave out when unknown: noon is used and time_uncertainty_minutes defaults to 720."
        },
        "birth_place": {
          "type": "string",
          "maxLength": 120,
          "description": "Where The person's was born, as \"City\", \"City, Country\" or \"City, Region, Country\", e.g. \"Utrecht, Netherlands\", \"Springfield, Illinois, USA\". Used only to find the time zone."
        },
        "time_uncertainty_minutes": {
          "type": "integer",
          "maximum": 720,
          "minimum": 0,
          "description": "How far off the birth time may be, in minutes either way (e.g. 30 for \"around half past two\"). The result then says which parts of the chart could change."
        }
      },
      "additionalProperties": false
    },
    "language": {
      "enum": [
        "en",
        "nl",
        "de"
      ],
      "type": "string",
      "description": "Language of the titles and summaries: en (default), nl (Dutch) or de (German)."
    },
    "time_utc": {
      "type": "string",
      "maxLength": 5,
      "description": "Time of day in UTC as HH:MM (default now when date is today, else 12:00)."
    }
  },
  "additionalProperties": false
}
get_transits annotations
{
  "title": "Human Design transits for a date",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
compare_charts — Human Design connection between two people
Advertised by the server during the last successful anonymous check.
Advertised read-only

Compares two people's charts: every channel the pair forms, grouped as electromagnetic (each brings one gate), companionship (both have it), dominance (one has it, the other neither gate) and compromise (one has it, the other one gate), with who holds what; the type, definition and defined centres of the combined chart; and each person's Type, Authority and Profile.

compare_charts input schema
{
  "type": "object",
  "required": [
    "person_a",
    "person_b"
  ],
  "properties": {
    "language": {
      "enum": [
        "en",
        "nl",
        "de"
      ],
      "type": "string",
      "description": "Language of the titles and summaries: en (default), nl (Dutch) or de (German)."
    },
    "person_a": {
      "type": "object",
      "required": [
        "birth_date"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 40,
          "description": "A first name or label, only to tell the two people apart in the answer."
        },
        "timezone": {
          "type": "string",
          "maxLength": 64,
          "description": "IANA time zone of the birthplace, e.g. \"Europe/Berlin\". Needed only when the place is not found; overrides the place's zone when given."
        },
        "birth_date": {
          "type": "string",
          "maxLength": 10,
          "description": "The first person's date of birth as YYYY-MM-DD, e.g. \"1988-03-21\"."
        },
        "birth_time": {
          "type": "string",
          "maxLength": 5,
          "description": "The first person's local clock time of birth, 24-hour HH:MM, e.g. \"14:05\". Leave out when unknown: noon is used and time_uncertainty_minutes defaults to 720."
        },
        "birth_place": {
          "type": "string",
          "maxLength": 120,
          "description": "Where The first person's was born, as \"City\", \"City, Country\" or \"City, Region, Country\", e.g. \"Utrecht, Netherlands\", \"Springfield, Illinois, USA\". Used only to find the time zone."
        },
        "time_uncertainty_minutes": {
          "type": "integer",
          "maximum": 720,
          "minimum": 0,
          "description": "How far off the birth time may be, in minutes either way (e.g. 30 for \"around half past two\"). The result then says which parts of the chart could change."
        }
      },
      "additionalProperties": false
    },
    "person_b": {
      "type": "object",
      "required": [
        "birth_date"
      ],
      "properties": {
        "name": {
          "type": "string",
          "maxLength": 40,
          "description": "A first name or label, only to tell the two people apart in the answer."
        },
        "timezone": {
          "type": "string",
          "maxLength": 64,
          "description": "IANA time zone of the birthplace, e.g. \"Europe/Berlin\". Needed only when the place is not found; overrides the place's zone when given."
        },
        "birth_date": {
          "type": "string",
          "maxLength": 10,
          "description": "The second person's date of birth as YYYY-MM-DD, e.g. \"1988-03-21\"."
        },
        "birth_time": {
          "type": "string",
          "maxLength": 5,
          "description": "The second person's local clock time of birth, 24-hour HH:MM, e.g. \"14:05\". Leave out when unknown: noon is used and time_uncertainty_minutes defaults to 720."
        },
        "birth_place": {
          "type": "string",
          "maxLength": 120,
          "description": "Where The second person's was born, as \"City\", \"City, Country\" or \"City, Region, Country\", e.g. \"Utrecht, Netherlands\", \"Springfield, Illinois, USA\". Used only to find the time zone."
        },
        "time_uncertainty_minutes": {
          "type": "integer",
          "maximum": 720,
          "minimum": 0,
          "description": "How far off the birth time may be, in minutes either way (e.g. 30 for \"around half past two\"). The result then says which parts of the chart could change."
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}
compare_charts annotations
{
  "title": "Human Design connection between two people",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
explain — Explain a Human Design term
Advertised by the server during the last successful anonymous check.
Advertised read-only

Explains one Human Design element in plain words: a type ("Projector"), an authority ("emotional authority"), a profile ("4/6"), a line ("line 3"), a definition ("split definition"), a centre ("Sacral"), a channel ("34-20"), a gate ("gate 51") or a basic topic ("what is Human Design", "open centres"). Gives the title and summary, the full text for types, authorities, profiles, definitions and basics, and the related centres, channels and gates.

explain input schema
{
  "type": "object",
  "required": [
    "topic"
  ],
  "properties": {
    "topic": {
      "type": "string",
      "maxLength": 80,
      "description": "The element or topic, e.g. \"Manifesting Generator\", \"splenic authority\", \"2/4\", \"gate 34\", \"channel 10-20\", \"Ajna centre\"."
    },
    "language": {
      "enum": [
        "en",
        "nl",
        "de"
      ],
      "type": "string",
      "description": "Language of the titles and summaries: en (default), nl (Dutch) or de (German)."
    }
  },
  "additionalProperties": false
}
explain annotations
{
  "title": "Explain a Human Design term",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

1 advertised

chart — Tessera chart

Advertised by the server during the last successful anonymous check.

Bodygraph for get_chart: defined centres and channels, activated gates, and the Type, Authority and Profile summary.

chart URI
ui://tessera/chart-v1.html

MIME type: text/html;profile=mcp-app

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (4 of 4 answered).

  1. 2026-11-02: 2 of 2 checks answered
  2. 2026-11-03: 2 of 2 checks answered

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
980 ms
95th percentile latency
980 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 980 ms · metadata changed · 4 tool(s), 1 resource(s), 0 resource template(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http tessera-mcp https://bigballi.com/Tessera/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add tessera-mcp --url https://bigballi.com/Tessera/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable tessera-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "tessera-mcp": {
      "url": "https://bigballi.com/Tessera/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "tessera-mcp": {
      "type": "streamableHttp",
      "url": "https://bigballi.com/Tessera/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start tessera-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "tessera-mcp": {
      "type": "http",
      "url": "https://bigballi.com/Tessera/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http tessera-mcp https://bigballi.com/Tessera/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "tessera-mcp": {
      "url": "https://bigballi.com/Tessera/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "tessera-mcp": {
      "serverUrl": "https://bigballi.com/Tessera/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Tessera MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Tessera 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.

Claim this listing