Skip to content

Conversation

@rfrneo4j
Copy link
Collaborator

  • 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):

    • 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

All 56 tests passing (43 unit + 13 integration)

- 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)
@rfrneo4j rfrneo4j requested review from a-s-g93 and jexp July 29, 2025 17:22
@rfrneo4j
Copy link
Collaborator Author

I think the biggest thing here that probably needs to be looked at is if the entrypoint/main method is ok to use asyncio.

rfrneo4j and others added 4 commits July 30, 2025 15:29
- 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
@a-s-g93
Copy link
Collaborator

a-s-g93 commented Jul 30, 2025

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.

@rfrneo4j
Copy link
Collaborator Author

rfrneo4j commented Aug 1, 2025

Implemented descriptions + removed prompt template code. Was not able to get to the second PR before taking off for PTO 👎 @a-s-g93

@a-s-g93 a-s-g93 merged commit 9db1b7d into main Aug 7, 2025
5 checks passed
@a-s-g93 a-s-g93 deleted the feat/mcp-datamodel-resourceexamples branch August 7, 2025 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants