@starascendin/lifeos-mcp 0.4.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.4.1";
2
- export declare const BUILD_TIME = "2026-02-03T17:44:02.201Z";
1
+ export declare const VERSION = "0.5.0";
2
+ export declare const BUILD_TIME = "2026-02-08T16:47:22.729Z";
@@ -1,3 +1,3 @@
1
1
  // AUTO-GENERATED — do not edit. Regenerated on every build.
2
- export const VERSION = "0.4.1";
3
- export const BUILD_TIME = "2026-02-03T17:44:02.201Z";
2
+ export const VERSION = "0.5.0";
3
+ export const BUILD_TIME = "2026-02-08T16:47:22.729Z";
package/dist/index.js CHANGED
@@ -762,6 +762,268 @@ const TOOLS = [
762
762
  required: ["noteId", "tags"],
763
763
  },
764
764
  },
765
+ // Voice Notes Deep Dive Tools
766
+ {
767
+ name: "get_voice_memo",
768
+ description: "Get a single voice memo with full details including transcript and AI extraction (summary, labels, action items, key points, sentiment).",
769
+ inputSchema: {
770
+ type: "object",
771
+ properties: {
772
+ userId: {
773
+ type: "string",
774
+ description: "Override the default user ID (optional)",
775
+ },
776
+ memoId: {
777
+ type: "string",
778
+ description: "The voice memo ID (required)",
779
+ },
780
+ },
781
+ required: ["memoId"],
782
+ },
783
+ },
784
+ {
785
+ name: "get_voice_memos_by_date",
786
+ description: "Get voice memos within a date range, including transcripts and AI extractions. Great for reviewing notes from a specific time period.",
787
+ inputSchema: {
788
+ type: "object",
789
+ properties: {
790
+ userId: {
791
+ type: "string",
792
+ description: "Override the default user ID (optional)",
793
+ },
794
+ startDate: {
795
+ type: "string",
796
+ description: "Start date in ISO format like '2024-01-15' (required)",
797
+ },
798
+ endDate: {
799
+ type: "string",
800
+ description: "End date in ISO format like '2024-01-22' (required)",
801
+ },
802
+ limit: {
803
+ type: "number",
804
+ description: "Max results (default 50, max 100)",
805
+ },
806
+ },
807
+ required: ["startDate", "endDate"],
808
+ },
809
+ },
810
+ {
811
+ name: "get_voice_memos_by_labels",
812
+ description: "Get voice memos that have specific labels/tags from AI extraction. Use this to find memos about specific topics.",
813
+ inputSchema: {
814
+ type: "object",
815
+ properties: {
816
+ userId: {
817
+ type: "string",
818
+ description: "Override the default user ID (optional)",
819
+ },
820
+ labels: {
821
+ type: "array",
822
+ items: { type: "string" },
823
+ description: "Labels to search for (required). Matches are fuzzy/partial.",
824
+ },
825
+ limit: {
826
+ type: "number",
827
+ description: "Max results (default 50, max 100)",
828
+ },
829
+ },
830
+ required: ["labels"],
831
+ },
832
+ },
833
+ {
834
+ name: "get_voice_memo_labels",
835
+ description: "Get all unique labels from voice memo AI extractions with counts. Use this to discover what topics exist in voice notes.",
836
+ inputSchema: {
837
+ type: "object",
838
+ properties: {
839
+ userId: {
840
+ type: "string",
841
+ description: "Override the default user ID (optional)",
842
+ },
843
+ },
844
+ },
845
+ },
846
+ // AI Conversation Summary Tools (Crystallization)
847
+ {
848
+ name: "create_ai_convo_summary",
849
+ description: "Save a crystallized summary from an AI conversation about voice notes. Use this to preserve insights, plans, and ideas from discussing notes with the AI.",
850
+ inputSchema: {
851
+ type: "object",
852
+ properties: {
853
+ userId: {
854
+ type: "string",
855
+ description: "Override the default user ID (optional)",
856
+ },
857
+ title: {
858
+ type: "string",
859
+ description: "Title for this summary (required)",
860
+ },
861
+ summary: {
862
+ type: "string",
863
+ description: "The main summary/insights from the conversation (required)",
864
+ },
865
+ keyInsights: {
866
+ type: "array",
867
+ items: { type: "string" },
868
+ description: "Key insights extracted from the conversation (optional)",
869
+ },
870
+ actionItems: {
871
+ type: "array",
872
+ items: { type: "string" },
873
+ description: "Action items that emerged from the conversation (optional)",
874
+ },
875
+ ideas: {
876
+ type: "array",
877
+ items: { type: "string" },
878
+ description: "New ideas or plans formulated (optional)",
879
+ },
880
+ tags: {
881
+ type: "array",
882
+ items: { type: "string" },
883
+ description: "Tags for categorization (optional)",
884
+ },
885
+ relatedMemoIds: {
886
+ type: "array",
887
+ items: { type: "string" },
888
+ description: "IDs of voice memos discussed in this conversation (optional)",
889
+ },
890
+ summaryType: {
891
+ type: "string",
892
+ description: "Type of summary: reflection, planning, brainstorm, journal_review, idea_refinement (optional)",
893
+ },
894
+ conversationContext: {
895
+ type: "string",
896
+ description: "The topic/context of the conversation that led to this summary (optional)",
897
+ },
898
+ },
899
+ required: ["title", "summary"],
900
+ },
901
+ },
902
+ {
903
+ name: "get_ai_convo_summaries",
904
+ description: "Get past AI conversation summaries. Use this to review previous crystallized insights from voice note discussions.",
905
+ inputSchema: {
906
+ type: "object",
907
+ properties: {
908
+ userId: {
909
+ type: "string",
910
+ description: "Override the default user ID (optional)",
911
+ },
912
+ summaryType: {
913
+ type: "string",
914
+ description: "Filter by type: reflection, planning, brainstorm, journal_review (optional)",
915
+ },
916
+ limit: {
917
+ type: "number",
918
+ description: "Max results (default 20, max 50)",
919
+ },
920
+ },
921
+ },
922
+ },
923
+ {
924
+ name: "get_ai_convo_summary",
925
+ description: "Get a single AI conversation summary with full details including related memo information.",
926
+ inputSchema: {
927
+ type: "object",
928
+ properties: {
929
+ userId: {
930
+ type: "string",
931
+ description: "Override the default user ID (optional)",
932
+ },
933
+ summaryId: {
934
+ type: "string",
935
+ description: "The summary ID (required)",
936
+ },
937
+ },
938
+ required: ["summaryId"],
939
+ },
940
+ },
941
+ {
942
+ name: "search_ai_convo_summaries",
943
+ description: "Search AI conversation summaries by content.",
944
+ inputSchema: {
945
+ type: "object",
946
+ properties: {
947
+ userId: {
948
+ type: "string",
949
+ description: "Override the default user ID (optional)",
950
+ },
951
+ query: {
952
+ type: "string",
953
+ description: "Search terms to find in summaries (required)",
954
+ },
955
+ limit: {
956
+ type: "number",
957
+ description: "Max results (default 10, max 50)",
958
+ },
959
+ },
960
+ required: ["query"],
961
+ },
962
+ },
963
+ {
964
+ name: "update_ai_convo_summary",
965
+ description: "Update an existing AI conversation summary.",
966
+ inputSchema: {
967
+ type: "object",
968
+ properties: {
969
+ userId: {
970
+ type: "string",
971
+ description: "Override the default user ID (optional)",
972
+ },
973
+ summaryId: {
974
+ type: "string",
975
+ description: "The summary ID (required)",
976
+ },
977
+ title: {
978
+ type: "string",
979
+ description: "Updated title (optional)",
980
+ },
981
+ summary: {
982
+ type: "string",
983
+ description: "Updated summary (optional)",
984
+ },
985
+ keyInsights: {
986
+ type: "array",
987
+ items: { type: "string" },
988
+ description: "Updated key insights (optional)",
989
+ },
990
+ actionItems: {
991
+ type: "array",
992
+ items: { type: "string" },
993
+ description: "Updated action items (optional)",
994
+ },
995
+ ideas: {
996
+ type: "array",
997
+ items: { type: "string" },
998
+ description: "Updated ideas (optional)",
999
+ },
1000
+ tags: {
1001
+ type: "array",
1002
+ items: { type: "string" },
1003
+ description: "Updated tags (optional)",
1004
+ },
1005
+ },
1006
+ required: ["summaryId"],
1007
+ },
1008
+ },
1009
+ {
1010
+ name: "delete_ai_convo_summary",
1011
+ description: "Delete an AI conversation summary.",
1012
+ inputSchema: {
1013
+ type: "object",
1014
+ properties: {
1015
+ userId: {
1016
+ type: "string",
1017
+ description: "Override the default user ID (optional)",
1018
+ },
1019
+ summaryId: {
1020
+ type: "string",
1021
+ description: "The summary ID (required)",
1022
+ },
1023
+ },
1024
+ required: ["summaryId"],
1025
+ },
1026
+ },
765
1027
  // FRM (Friend Relationship Management) Tools
766
1028
  {
767
1029
  name: "get_people",
@@ -1566,6 +1828,109 @@ const TOOLS = [
1566
1828
  required: ["threadId"],
1567
1829
  },
1568
1830
  },
1831
+ // CRM / Business Contact Tools
1832
+ {
1833
+ name: "get_business_contacts",
1834
+ description: "Get all business contacts (Beeper threads marked as business) with linked person/client info and meeting counts.",
1835
+ inputSchema: {
1836
+ type: "object",
1837
+ properties: {
1838
+ userId: {
1839
+ type: "string",
1840
+ description: "Override the default user ID (optional)",
1841
+ },
1842
+ },
1843
+ },
1844
+ },
1845
+ {
1846
+ name: "get_merge_suggestions",
1847
+ description: "Get pending contact merge suggestions. Returns pairs of contacts that may be duplicates based on matching email, phone, or name similarity.",
1848
+ inputSchema: {
1849
+ type: "object",
1850
+ properties: {
1851
+ userId: {
1852
+ type: "string",
1853
+ description: "Override the default user ID (optional)",
1854
+ },
1855
+ },
1856
+ },
1857
+ },
1858
+ {
1859
+ name: "accept_merge_suggestion",
1860
+ description: "Accept a merge suggestion and merge the source contact into the target contact. Re-links all memos, Beeper threads, and meetings from source to target, then archives the source contact.",
1861
+ inputSchema: {
1862
+ type: "object",
1863
+ properties: {
1864
+ userId: {
1865
+ type: "string",
1866
+ description: "Override the default user ID (optional)",
1867
+ },
1868
+ suggestionId: {
1869
+ type: "string",
1870
+ description: "The merge suggestion ID (required)",
1871
+ },
1872
+ },
1873
+ required: ["suggestionId"],
1874
+ },
1875
+ },
1876
+ {
1877
+ name: "reject_merge_suggestion",
1878
+ description: "Reject a merge suggestion. The suggestion will be marked as rejected and won't appear again.",
1879
+ inputSchema: {
1880
+ type: "object",
1881
+ properties: {
1882
+ userId: {
1883
+ type: "string",
1884
+ description: "Override the default user ID (optional)",
1885
+ },
1886
+ suggestionId: {
1887
+ type: "string",
1888
+ description: "The merge suggestion ID (required)",
1889
+ },
1890
+ },
1891
+ required: ["suggestionId"],
1892
+ },
1893
+ },
1894
+ {
1895
+ name: "dismiss_all_merge_suggestions",
1896
+ description: "Dismiss all pending merge suggestions at once.",
1897
+ inputSchema: {
1898
+ type: "object",
1899
+ properties: {
1900
+ userId: {
1901
+ type: "string",
1902
+ description: "Override the default user ID (optional)",
1903
+ },
1904
+ },
1905
+ },
1906
+ },
1907
+ {
1908
+ name: "unlink_meeting_from_business_contact",
1909
+ description: "Remove the link between a meeting (Granola or Fathom) and a business contact. Deletes the thread link, person link, and unified meeting link records.",
1910
+ inputSchema: {
1911
+ type: "object",
1912
+ properties: {
1913
+ userId: {
1914
+ type: "string",
1915
+ description: "Override the default user ID (optional)",
1916
+ },
1917
+ threadConvexId: {
1918
+ type: "string",
1919
+ description: "The Convex ID of the Beeper thread (required)",
1920
+ },
1921
+ meetingSource: {
1922
+ type: "string",
1923
+ enum: ["granola", "fathom"],
1924
+ description: "The meeting source: 'granola' or 'fathom' (required)",
1925
+ },
1926
+ meetingId: {
1927
+ type: "string",
1928
+ description: "The meeting ID (required)",
1929
+ },
1930
+ },
1931
+ required: ["threadConvexId", "meetingSource", "meetingId"],
1932
+ },
1933
+ },
1569
1934
  // MCP Server Info
1570
1935
  {
1571
1936
  name: "get_version",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@starascendin/lifeos-mcp",
3
- "version": "0.4.1",
3
+ "version": "0.5.0",
4
4
  "description": "MCP server for LifeOS Project Management - manage projects, tasks, notes, and contacts via AI assistants",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",