Earth616 MCP Vocabulary Service
A Model Context Protocol (MCP) server for accessing the Earth616 Defense Supply Chain and Documentation Ontology (DSCDO).
Quick Start
Option 1: Local Development
-
Build the service:
npm install npm run build -
Test the service locally:
# Test that it starts up node dist/index.js # Should output: "Earth616 MCP Vocabulary Server running on stdio" # Press Ctrl+C to exit
Option 2: Docker Development (Recommended)
-
Start the full stack:
npm run docker:upThis starts:
- Nginx server on port 8080 (serving example ontology files)
- MCP vocabulary service (connected to nginx)
-
Test the stack:
# Test ontology server curl http://localhost:8080/health # View example files curl http://localhost:8080/example/ -
View logs:
npm run docker:logs -
Stop the stack:
npm run docker:down -
Connect to Claude Desktop:
Copy the configuration from
claude_desktop_config.jsonto your Claude Desktop configuration file:- Mac:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
Or merge with existing config:
{ "mcpServers": { "earth616-vocab": { "command": "node", "args": ["/full/path/to/earth616_mcp_vocab_service/dist/index.js"], "env": { "NODE_ENV": "development" } } } } - Mac:
-
Test in Claude Desktop:
After restarting Claude Desktop, you should be able to use these tools:
hello_vocab- Simple test toolget_ontology_info- Basic ontology informationtest_ontology_server- Test connectivity to the ontology file serverlist_example_files- List available example files
Current Status
This is a minimal MCP server with Docker integration. Available tools:
- hello_vocab: Echo back a message (testing connectivity)
- get_ontology_info: Get basic information about the Earth616 ontology
- test_ontology_server: Test connectivity to the ontology file server
- list_example_files: List available example ontology files
The Docker setup provides:
- nginx: Serves ontology files with proper content types
- MCP service: Connects to nginx and provides vocabulary access
- Health checks:
/healthendpoint for service monitoring
Next Steps
Following the iterative approach outlined in VOCAB_SERVICE_PLAN.md, we'll gradually add:
- File-based vocabulary term lookup
- URI resolution capabilities
- W3C PROF Profile navigation
- Complete vocabulary dataset access
- Cross-layer navigation tools
Development
Local Development
npm run dev- Watch mode for developmentnpm run build- Build TypeScriptnpm start- Run the built server
Docker Development
npm run docker:build- Build Docker imagenpm run docker:up- Start full stack (detached)npm run docker:down- Stop full stacknpm run docker:logs- View MCP service logsnpm run docker:test- Quick health check test
Development Workflow
- Make changes to
src/index.ts npm run docker:upto test with full stack- Use Claude Desktop tools to test functionality
npm run docker:logsto debug issuesnpm run docker:downwhen done
The server runs on stdio and communicates with Claude Desktop via the MCP protocol. The Docker setup simulates the full production environment locally.
