Interactive Periodic Table MCP
An MCP server providing read-only access to comprehensive data for all 118 chemical elements. It supports retrieving detailed properties, electron configurations, and summaries for specific elements, searching by name or symbol, listing elements by category or properties, and comparing numeric properties of multiple elements side-by-side.
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://theperiodictable.org/mcpWhat you can do with it
- Retrieve detailed properties and electron configuration for a specific element
- Search for elements by full name, symbol, or atomic number
- List and filter elements by category, block, period, or group
- Compare numeric properties of 2 to 10 elements side-by-side
Source and maintenance
Protocol and capabilities
- Server
- periodic-table 1.0.0
- MCP protocol
- 2025-06-18
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
get_element — Get element
Everything the Interactive Periodic Table knows about one element: classification, physical and chemical properties with units, electron configuration, discovery, a short summary and a longer introduction (uses, production, history, safety), plus the link to its page.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"element"
],
"properties": {
"locale": {
"enum": [
"en",
"es",
"fr",
"de",
"zh",
"pt",
"ja",
"hi",
"ru"
],
"type": "string",
"description": "Language for names and text: en, es, fr, de, zh, pt, ja, hi, ru (default en)"
},
"element": {
"type": "string",
"minLength": 1,
"description": "Symbol (Fe), atomic number (26) or name in any supported language (iron, Eisen, 铁)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}search_elements — Search elements
Find elements by symbol, atomic number, or full or partial name in any supported language. Use it when a name is misspelled, partial or in another language.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"query"
],
"properties": {
"limit": {
"type": "integer",
"maximum": 118,
"minimum": 1,
"description": "Maximum results (default 10)"
},
"query": {
"type": "string",
"minLength": 1,
"description": "What to look for, e.g. \"Fe\", \"26\", \"carb\", \"Sauerstoff\", \"金\""
},
"locale": {
"enum": [
"en",
"es",
"fr",
"de",
"zh",
"pt",
"ja",
"hi",
"ru"
],
"type": "string",
"description": "Language for names and text: en, es, fr, de, zh, pt, ja, hi, ru (default en)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}list_elements — List elements
List elements, optionally filtered by category, block, period, group, state at 25 °C or a numeric property range, and sorted by a property. Without filters it lists all 118 elements in atomic-number order. Elements with no value for the range or sort property are left out.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {
"max": {
"type": "number",
"description": "Maximum value of `property` (inclusive), in its unit"
},
"min": {
"type": "number",
"description": "Minimum value of `property` (inclusive), in its unit"
},
"sort": {
"enum": [
"asc",
"desc"
],
"type": "string",
"description": "Sort by `property` (default: atomic number)"
},
"block": {
"enum": [
"s",
"p",
"d",
"f"
],
"type": "string",
"description": "Block"
},
"group": {
"type": "integer",
"maximum": 18,
"minimum": 1,
"description": "Group (column), 1-18; lanthanides and actinides have none"
},
"limit": {
"type": "integer",
"maximum": 118,
"minimum": 1,
"description": "Maximum results (default 118)"
},
"phase": {
"enum": [
"solid",
"liquid",
"gas"
],
"type": "string",
"description": "State at 25 °C, derived from the melting and boiling points"
},
"locale": {
"enum": [
"en",
"es",
"fr",
"de",
"zh",
"pt",
"ja",
"hi",
"ru"
],
"type": "string",
"description": "Language for names and text: en, es, fr, de, zh, pt, ja, hi, ru (default en)"
},
"period": {
"type": "integer",
"maximum": 7,
"minimum": 1,
"description": "Period (row), 1-7"
},
"category": {
"enum": [
"alkali-metal",
"alkaline-earth-metal",
"transition-metal",
"post-transition-metal",
"metalloid",
"nonmetal",
"noble-gas",
"lanthanide",
"actinide",
"unknown"
],
"type": "string",
"description": "Category"
},
"property": {
"enum": [
"atomicNumber",
"atomicMass",
"density",
"meltingPoint",
"boilingPoint",
"electronegativity",
"ionizationEnergy",
"electronAffinity",
"atomicRadius",
"covalentRadius",
"specificHeat",
"thermalConductivity",
"discoveryYear"
],
"type": "string",
"description": "Numeric property for min/max and sorting"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}compare_elements — Compare elements
Side-by-side numeric properties of 2-10 elements, with units.
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"elements"
],
"properties": {
"locale": {
"enum": [
"en",
"es",
"fr",
"de",
"zh",
"pt",
"ja",
"hi",
"ru"
],
"type": "string",
"description": "Language for names and text: en, es, fr, de, zh, pt, ja, hi, ru (default en)"
},
"elements": {
"type": "array",
"items": {
"type": "string",
"minLength": 1,
"description": "Symbol (Fe), atomic number (26) or name in any supported language (iron, Eisen, 铁)"
},
"maxItems": 10,
"minItems": 2,
"description": "The elements to compare"
},
"properties": {
"type": "array",
"items": {
"enum": [
"atomicNumber",
"atomicMass",
"density",
"meltingPoint",
"boilingPoint",
"electronegativity",
"ionizationEnergy",
"electronAffinity",
"atomicRadius",
"covalentRadius",
"specificHeat",
"thermalConductivity",
"discoveryYear"
],
"type": "string"
},
"minItems": 1,
"description": "Properties to include (default: all numeric properties)"
}
}
}{
"readOnlyHint": true,
"openWorldHint": false
}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
- 342 ms
- 95th percentile latency
- 342 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 342 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http interactive-periodic-table-mcp https://theperiodictable.org/mcpCodex
codex mcp add interactive-periodic-table-mcp --url https://theperiodictable.org/mcpCursor
{
"mcpServers": {
"interactive-periodic-table-mcp": {
"url": "https://theperiodictable.org/mcp"
}
}
}Cline
{
"mcpServers": {
"interactive-periodic-table-mcp": {
"type": "streamableHttp",
"url": "https://theperiodictable.org/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"interactive-periodic-table-mcp": {
"type": "http",
"url": "https://theperiodictable.org/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http interactive-periodic-table-mcp https://theperiodictable.org/mcpClaude Desktop
{
"mcpServers": {
"interactive-periodic-table-mcp": {
"url": "https://theperiodictable.org/mcp"
}
}
}Windsurf
{
"mcpServers": {
"interactive-periodic-table-mcp": {
"serverUrl": "https://theperiodictable.org/mcp"
}
}
}Let your agent find its tools
Find servers like Interactive Periodic Table MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.