-
Notifications
You must be signed in to change notification settings - Fork 216
feat: Add comprehensive example data models as MCP resources #122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add DataModel.from_dict() class method for JSON to DataModel conversion - Add 7 new example data models as MCP resources: * resource://examples/patient_journey_model (14 nodes, 21 relationships) * resource://examples/supply_chain_model (14 nodes, 23 relationships) * resource://examples/software_dependency_model (14 nodes, 17 relationships) * resource://examples/oil_gas_monitoring_model (12 nodes, 26 relationships) * resource://examples/customer_360_model (30 nodes, 35 relationships) * resource://examples/fraud_aml_model (15 nodes, 24 relationships) * resource://examples/health_insurance_fraud_model (14 nodes, 16 relationships) - Add new MCP tools: * list_example_data_models: Lists all available examples with descriptions * load_example_data_model: Loads any example as DataModel object - Remove CBRE_WORK_ORDER_MODEL (accidentally added) - Remove Google references from Supply Chain model - Fix server startup with asyncio.run(main()) - Add comprehensive test coverage for new tools and resources - Ensure MCP resources return JSON strings, tools return DataModel objects All 56 tests passing (43 unit + 13 integration)
|
I think the biggest thing here that probably needs to be looked at is if the entrypoint/main method is ok to use asyncio. |
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/data_model.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/server.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/server.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/server.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/static.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/static.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/static.py
Outdated
Show resolved
Hide resolved
servers/mcp-neo4j-data-modeling/src/mcp_neo4j_data_modeling/static.py
Outdated
Show resolved
Hide resolved
- Update DATA_MODELING_TEMPLATE to include example data in property descriptions - Remove unnecessary template fields (Direction, Integration Needs, Compliance) - Move server tools and MCP resources tests to dedicated test_server.py file - Use pytest fixture for MCP server to avoid duplication - All 43 tests passing with comprehensive coverage
…nd get_example model_tool to return viz config too
need to parse data model from response since we now include the viz config
|
This seems to work really well with Claude Desktop. Now I think we just need to remove the prompt template code and add that to a separate PR and add property descriptions to the example data models to give more context to the LLM. Providing these descriptions will allow the agent to map user data to the example models and discuss the data model with the user more effectively. |
|
Implemented descriptions + removed prompt template code. Was not able to get to the second PR before taking off for PTO 👎 @a-s-g93 |
Add DataModel.from_dict() class method for JSON to DataModel conversion
Add 7 new example data models as MCP resources (mined from Hive + 7 Graphs):
Add new MCP tools:
All 56 tests passing (43 unit + 13 integration)