So I asked Claude to analyse my daily average of steps in September:
Based on my Apple Health data, could you make a summary of my daily average steps in September?
{
`params`: {
`limit`: 1000,
`date_to`: `2025-09-12T23:59:59+00:00`,
`date_from`: `2025-09-01T00:00:00+00:00`,
`record_type`: `HKQuantityTypeIdentifierStepCount`
}
}
so then Claude used Get health records:
{
`params`: {
`limit`: 1000,
`date_to`: `2025-09-12T23:59:59+00:00`,
`date_from`: `2025-09-01T00:00:00+00:00`,
`record_type`: `HKQuantityTypeIdentifierStepCount`
}
}
and the response was like:
[{"type":"HKQuantityTypeIdentifierStepCount","sourceVersion":"11.5","sourceName":"Bartosz’s Apple Watch","device":"<<HKDevice: 0x739e67ac0>, name:Apple Watch, manufacturer:Apple Inc., model:Watch, hardware:Watch7,9, software:11.5, creation date:2025-05-26 23:00:07 +0000>","startDate":"2025-09-01T03:50:26Z","endDate":"2025-09-01T03:51:13Z","creationDate":"2025-09-01T03:52:38Z","unit":"count","value":19.0,"textvalue":"19"},{"type":"HKQuantityTypeIdentifierStepCount","sourceVersion":"11.5","sourceName":"Bartosz’s Apple Watch","device":"<<HKDevice: 0x739e67ac0>, name:Apple Watch, manufacturer:Apple Inc., model:Watch, hardware:Watch7,9, software:11.5, creation date:2025-05-26 23:00:07 +0000>","startDate":"2025-09-01T03:53:09Z","endDate":"2025-09-01T03:53:22Z","creationDate":"2025-09-01T04:01:01Z","unit":"count","value":24.0,"textvalue":"24"},
Unfortunately, I didn't receive the full response, because:
Result too long, truncated to 100000 characters
It's due to the fact, that only from the September, I had 2626 samples of data, and I think it makes no sense to process it by LLM, given the fact it costs tokens.
After that try, Claude used another tool Get trend data:
{
`date_to`: `2025-09-12T23:59:59+00:00`,
`interval`: `day`,
`date_from`: `2025-09-01T00:00:00+00:00`,
`record_type`: `HKQuantityTypeIdentifierStepCount`
}
Suggestion: Maybe the tool description should give explicit instructions that this tool shouldn't be used for analysis longer than one day or so?
and the response was like:
[{"interval":"2025-09-01T00:00:00Z","average":24.81578947368421,"min":1.0,"max":1787.0,"count":836},{"interval":"2025-09-02T00:00:00Z","average":24.25,"min":1.0,"max":280.0,"count":172},{"interval":"2025-09-03T00:00:00Z","average":151.0990990990991,"min":1.0,"max":1087.0,"count":111},{"interval":"2025-09-04T00:00:00Z","average":114.64367816091954,"min":2.0,"max":888.0,"count":87},{"interval":"2025-09-05T00:00:00Z","average":106.6896551724138,"min":1.0,"max":1064.0,"count":87},{"interval":"2025-09-06T00:00:00Z","average":121.08988764044943,"min":2.0,"max":582.0,"count":89},{"interval":"2025-09-07T00:00:00Z","average":127.0,"min":2.0,"max":768.0,"count":78},{"interval":"2025-09-08T00:00:00Z","average":22.849598163031,"min":1.0,"max":1789.0,"count":871},{"interval":"2025-09-09T00:00:00Z","average":103.96446700507614,"min":1.0,"max":1085.0,"count":197},{"interval":"2025-09-10T00:00:00Z","average":139.96703296703296,"min":3.0,"max":1088.0,"count":91},{"interval":"2025-09-11T00:00:00Z","average":50.57142857142857,"min":5.0,"max":102.0,"count":7}]
It's better, but since there's no sum, Claude had to calculate the daily value separately using a Python script that it created for this purpose. I think this unnecessary additional step should be handled by the MCP server by adding a sum field.
At the end I received these values:
Sept 1: 20,750 steps (836 records)
Sept 2: 4,171 steps (172 records)
Sept 3: 16,772 steps (111 records)
Sept 4: 9,974 steps (87 records)
Sept 5: 9,282 steps (87 records)
Sept 6: 10,777 steps (89 records)
Sept 7: 9,906 steps (78 records)
Sept 8: 19,902 steps (871 records)
Sept 9: 20,480 steps (197 records)
Sept 10: 12,737 steps (91 records)
In the end, I got these values which aren't correct - I'm attaching the actual values (from Apple Health app) below:
Sept 1: 11584
Sept 2: 3868
Sept 3: 10049
Sept 4: 4654
Sept 5: 5982
Sept 6: 6354
Sept 7: 5754
Sept 8: 10923
Sept 9: 11658
Sept 10: 6850
So as you can see, all the values look doubled. I think it's because steps are counted separately by the Watch and phone. Maybe the MCP server should look at the data and set up a default priority for values from the watch?
So I asked Claude to analyse my daily average of steps in September:
Based on my Apple Health data, could you make a summary of my daily average steps in September?
so then Claude used
Get health records:and the response was like:
Unfortunately, I didn't receive the full response, because:
It's due to the fact, that only from the September, I had 2626 samples of data, and I think it makes no sense to process it by LLM, given the fact it costs tokens.
After that try, Claude used another tool
Get trend data:Suggestion: Maybe the tool description should give explicit instructions that this tool shouldn't be used for analysis longer than one day or so?
and the response was like:
It's better, but since there's no sum, Claude had to calculate the daily value separately using a Python script that it created for this purpose. I think this unnecessary additional step should be handled by the MCP server by adding a sum field.
At the end I received these values:
In the end, I got these values which aren't correct - I'm attaching the actual values (from Apple Health app) below:
So as you can see, all the values look doubled. I think it's because steps are counted separately by the Watch and phone. Maybe the MCP server should look at the data and set up a default priority for values from the watch?