rdf-mcp
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@rdf-mcpexpand abbreviation AHU"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
This repository contains code for Model Context Protocol servers supporting use of the Brick and 223P ontologies.
Make sure you have uv installed.
This project uses Black for code formatting. To format your code, run:
uv run black .Running tests
To run the test suite, use:
uv run pytestThis will discover and run all tests in the tests/ directory.
There are 2 MCP servers in this repository.
Related MCP server: open-ontologies
Brick MCP Server
Loads latest 1.4 Brick ontology from https://brickschema.org/schema/1.4/Brick.ttl
It defines these tools:
expand_abbreviation: uses the Smash algorithm to attempt expanding common abbreviations (e.g.AHU) into Brick classes (e.g.Air_Handling_Unit)get_terms: returns a list of Brick classesget_properties: returns a list of Brick properties and object typesget_possible_properties: returns a list of Brick properties and object types that can be used with a given Brick classget_definition_brick: returns the definition of a Brick class as the CBD of the Brick class
223P MCP Server
Loads latest 223P from https://open223.info/223p.ttl
get_terms: returns a list of S223 classesget_properties: returns a list of S223 properties (not object types)get_possible_properties: returns a list of S223 properties and object types that can be used with a given S223 classget_definition_223p: returns the definition of a S223 class as the CBD of the S223 class
Running the servers
Claude Desktop
Should be as simple as uv run mcp install brick.py, then open Claude Desktop and look at the tools settings to ensure everything is working.
Open Claude Desktop and look at the tools settings to ensure everything is working.
{
"mcpServers": {
"BrickOntology": {
"command": "/Users/gabe/.cargo/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"rdflib",
"--with",
"oxrdflib",
"mcp",
"run",
"/Users/gabe/src/rdf-mcp/rdf_mcp/servers/brick_server.py"
],
"env": {
"PYTHONPATH": "/Users/gabe/src/rdf-mcp"
}
},
"S223Ontology": {
"command": "/Users/gabe/.cargo/bin/uv",
"args": [
"run",
"--with",
"mcp[cli]",
"--with",
"rdflib",
"--with",
"oxrdflib",
"mcp",
"run",
"/Users/gabe/src/rdf-mcp/rdf_mcp/servers/s223_server.py"
],
"env": {
"PYTHONPATH": "/Users/gabe/src/rdf-mcp"
}
}
}
}Pydantic
import asyncio
from devtools import pprint
from pydantic_ai import Agent, capture_run_messages
from pydantic_ai.models.openai import OpenAIModel
from pydantic_ai.providers.openai import OpenAIProvider
from pydantic_ai.mcp import MCPServerStdio
server = MCPServerStdio(
"uv",
args=[
"run",
"--with",
"mcp[cli]",
"--with",
"rdflib",
"--with",
"oxrdflib",
"mcp",
"run",
"/Users/gabe/src/rdf-mcp/rdf_mcp/servers/s223_server.py"
],
env={
"PYTHONPATH": "/Users/gabe/src/rdf-mcp" # Update this path to your repo root
},
)
model = OpenAIModel(
model_name="gemma-3-27b-it-qat",
# i'm using LM Studio here, but you could use any other provider that exposes
# an OpenAI-like API
provider=OpenAIProvider(base_url="http://localhost:1234/v1", api_key="lm_studio"),
)
agent = Agent(
model,
mcp_servers=[server],
)
prompt = """Create a simple Brick model of a AHU box with 3 sensors: RAT, SAT and OAT. Also include a SF with a SF command
Look up definitions of concepts and their relationships to ensure you are building a valid Brick model.
Use the tool to determine what properties a term can have. Only use the predicates defined by the ontology.
Output a turtle file with the Brick model.
"""
async def main():
with capture_run_messages() as messages:
async with agent.run_mcp_servers():
result = await agent.run(prompt)
pprint(messages)
print(result.output)
asyncio.run(main())This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseBqualityDmaintenanceA production-ready Model Context Protocol (MCP) server that provides comprehensive access to the BioOntology API for searching, annotating, and exploring over 1,200 biological ontologies.Last updated109
- AlicenseAqualityAmaintenanceAI-native ontology engineering MCP server for OWL/RDF/SPARQL. Validate, query, diff, lint, version, and govern knowledge graphs via Oxigraph triple store.Last updated42223MIT
- AlicenseAqualityAmaintenanceUnified MCP server providing LLMs with reliable lookup access to ICD-11, LOINC, RxNorm, MeSH, ATC, CID-10, and (optionally) SNOMED CT.Last updated311007MIT
- AlicenseBqualityDmaintenanceMCP server for mapping clinical terminology to OMOP concepts using LLMs, with vocabulary search and batch processing capabilities.Last updated239Apache 2.0
Related MCP Connectors
MCP gateway federating 21 biomedical MCP servers behind one endpoint: gnomAD, ClinVar, HPO, VEP.
MCP server for accessing curated awesome list documentation
MCP server for the Fail Modes taxonomy — a knowledge base of AI system failure modes
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/gtfierro/rdf-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server