profound-mcp 0.2.1

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.
Files changed (270) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +231 -0
  3. package/code-tool-paths.cjs +6 -0
  4. package/code-tool-paths.cjs.map +1 -0
  5. package/code-tool-paths.d.cts +2 -0
  6. package/code-tool-paths.d.cts.map +1 -0
  7. package/code-tool-types.d.mts +14 -0
  8. package/code-tool-types.d.mts.map +1 -0
  9. package/code-tool-types.d.ts +14 -0
  10. package/code-tool-types.d.ts.map +1 -0
  11. package/code-tool-types.js +4 -0
  12. package/code-tool-types.js.map +1 -0
  13. package/code-tool-types.mjs +3 -0
  14. package/code-tool-types.mjs.map +1 -0
  15. package/code-tool-worker.d.mts +5 -0
  16. package/code-tool-worker.d.mts.map +1 -0
  17. package/code-tool-worker.d.ts +5 -0
  18. package/code-tool-worker.d.ts.map +1 -0
  19. package/code-tool-worker.js +45 -0
  20. package/code-tool-worker.js.map +1 -0
  21. package/code-tool-worker.mjs +40 -0
  22. package/code-tool-worker.mjs.map +1 -0
  23. package/code-tool.d.mts +12 -0
  24. package/code-tool.d.mts.map +1 -0
  25. package/code-tool.d.ts +12 -0
  26. package/code-tool.d.ts.map +1 -0
  27. package/code-tool.js +157 -0
  28. package/code-tool.js.map +1 -0
  29. package/code-tool.mjs +121 -0
  30. package/code-tool.mjs.map +1 -0
  31. package/compat.d.mts +58 -0
  32. package/compat.d.mts.map +1 -0
  33. package/compat.d.ts +58 -0
  34. package/compat.d.ts.map +1 -0
  35. package/compat.js +387 -0
  36. package/compat.js.map +1 -0
  37. package/compat.mjs +378 -0
  38. package/compat.mjs.map +1 -0
  39. package/docs-search-tool.d.mts +44 -0
  40. package/docs-search-tool.d.mts.map +1 -0
  41. package/docs-search-tool.d.ts +44 -0
  42. package/docs-search-tool.d.ts.map +1 -0
  43. package/docs-search-tool.js +43 -0
  44. package/docs-search-tool.js.map +1 -0
  45. package/docs-search-tool.mjs +39 -0
  46. package/docs-search-tool.mjs.map +1 -0
  47. package/dynamic-tools.d.mts +12 -0
  48. package/dynamic-tools.d.mts.map +1 -0
  49. package/dynamic-tools.d.ts +12 -0
  50. package/dynamic-tools.d.ts.map +1 -0
  51. package/dynamic-tools.js +135 -0
  52. package/dynamic-tools.js.map +1 -0
  53. package/dynamic-tools.mjs +132 -0
  54. package/dynamic-tools.mjs.map +1 -0
  55. package/filtering.d.mts +2 -0
  56. package/filtering.d.mts.map +1 -0
  57. package/filtering.d.ts +2 -0
  58. package/filtering.d.ts.map +1 -0
  59. package/filtering.js +20 -0
  60. package/filtering.js.map +1 -0
  61. package/filtering.mjs +13 -0
  62. package/filtering.mjs.map +1 -0
  63. package/headers.d.mts +4 -0
  64. package/headers.d.mts.map +1 -0
  65. package/headers.d.ts +4 -0
  66. package/headers.d.ts.map +1 -0
  67. package/headers.js +10 -0
  68. package/headers.js.map +1 -0
  69. package/headers.mjs +6 -0
  70. package/headers.mjs.map +1 -0
  71. package/http.d.mts +9 -0
  72. package/http.d.mts.map +1 -0
  73. package/http.d.ts +9 -0
  74. package/http.d.ts.map +1 -0
  75. package/http.js +108 -0
  76. package/http.js.map +1 -0
  77. package/http.mjs +100 -0
  78. package/http.mjs.map +1 -0
  79. package/index.d.mts +3 -0
  80. package/index.d.mts.map +1 -0
  81. package/index.d.ts +3 -0
  82. package/index.d.ts.map +1 -0
  83. package/index.js +91 -0
  84. package/index.js.map +1 -0
  85. package/index.mjs +89 -0
  86. package/index.mjs.map +1 -0
  87. package/options.d.mts +20 -0
  88. package/options.d.mts.map +1 -0
  89. package/options.d.ts +20 -0
  90. package/options.d.ts.map +1 -0
  91. package/options.js +424 -0
  92. package/options.js.map +1 -0
  93. package/options.mjs +417 -0
  94. package/options.mjs.map +1 -0
  95. package/package.json +216 -0
  96. package/server.d.mts +35 -0
  97. package/server.d.mts.map +1 -0
  98. package/server.d.ts +35 -0
  99. package/server.d.ts.map +1 -0
  100. package/server.js +174 -0
  101. package/server.js.map +1 -0
  102. package/server.mjs +160 -0
  103. package/server.mjs.map +1 -0
  104. package/src/code-tool-paths.cts +3 -0
  105. package/src/code-tool-types.ts +14 -0
  106. package/src/code-tool-worker.ts +46 -0
  107. package/src/code-tool.ts +146 -0
  108. package/src/compat.ts +483 -0
  109. package/src/docs-search-tool.ts +48 -0
  110. package/src/dynamic-tools.ts +153 -0
  111. package/src/filtering.ts +14 -0
  112. package/src/headers.ts +10 -0
  113. package/src/http.ts +127 -0
  114. package/src/index.ts +108 -0
  115. package/src/options.ts +466 -0
  116. package/src/server.ts +207 -0
  117. package/src/stdio.ts +13 -0
  118. package/src/tools/index.ts +95 -0
  119. package/src/tools/logs/raw/bots-logs-raw.ts +196 -0
  120. package/src/tools/logs/raw/logs-logs-raw.ts +186 -0
  121. package/src/tools/organizations/categories/list-organizations-categories.ts +44 -0
  122. package/src/tools/organizations/categories/prompts-organizations-categories.ts +50 -0
  123. package/src/tools/organizations/categories/tags-organizations-categories.ts +50 -0
  124. package/src/tools/organizations/categories/topics-organizations-categories.ts +50 -0
  125. package/src/tools/organizations/domains-organizations.ts +44 -0
  126. package/src/tools/organizations/models-organizations.ts +44 -0
  127. package/src/tools/organizations/regions-organizations.ts +44 -0
  128. package/src/tools/prompts/answers-prompts.ts +200 -0
  129. package/src/tools/reports/citations-reports.ts +173 -0
  130. package/src/tools/reports/sentiment-reports.ts +173 -0
  131. package/src/tools/reports/visibility-reports.ts +173 -0
  132. package/src/tools/types.ts +103 -0
  133. package/src/tools.ts +1 -0
  134. package/src/tsconfig.json +11 -0
  135. package/stdio.d.mts +3 -0
  136. package/stdio.d.mts.map +1 -0
  137. package/stdio.d.ts +3 -0
  138. package/stdio.d.ts.map +1 -0
  139. package/stdio.js +14 -0
  140. package/stdio.js.map +1 -0
  141. package/stdio.mjs +10 -0
  142. package/stdio.mjs.map +1 -0
  143. package/tools/index.d.mts +10 -0
  144. package/tools/index.d.mts.map +1 -0
  145. package/tools/index.d.ts +10 -0
  146. package/tools/index.d.ts.map +1 -0
  147. package/tools/index.js +79 -0
  148. package/tools/index.js.map +1 -0
  149. package/tools/index.mjs +72 -0
  150. package/tools/index.mjs.map +1 -0
  151. package/tools/logs/raw/bots-logs-raw.d.mts +45 -0
  152. package/tools/logs/raw/bots-logs-raw.d.mts.map +1 -0
  153. package/tools/logs/raw/bots-logs-raw.d.ts +45 -0
  154. package/tools/logs/raw/bots-logs-raw.d.ts.map +1 -0
  155. package/tools/logs/raw/bots-logs-raw.js +187 -0
  156. package/tools/logs/raw/bots-logs-raw.js.map +1 -0
  157. package/tools/logs/raw/bots-logs-raw.mjs +183 -0
  158. package/tools/logs/raw/bots-logs-raw.mjs.map +1 -0
  159. package/tools/logs/raw/logs-logs-raw.d.mts +45 -0
  160. package/tools/logs/raw/logs-logs-raw.d.mts.map +1 -0
  161. package/tools/logs/raw/logs-logs-raw.d.ts +45 -0
  162. package/tools/logs/raw/logs-logs-raw.d.ts.map +1 -0
  163. package/tools/logs/raw/logs-logs-raw.js +177 -0
  164. package/tools/logs/raw/logs-logs-raw.js.map +1 -0
  165. package/tools/logs/raw/logs-logs-raw.mjs +173 -0
  166. package/tools/logs/raw/logs-logs-raw.mjs.map +1 -0
  167. package/tools/organizations/categories/list-organizations-categories.d.mts +45 -0
  168. package/tools/organizations/categories/list-organizations-categories.d.mts.map +1 -0
  169. package/tools/organizations/categories/list-organizations-categories.d.ts +45 -0
  170. package/tools/organizations/categories/list-organizations-categories.d.ts.map +1 -0
  171. package/tools/organizations/categories/list-organizations-categories.js +39 -0
  172. package/tools/organizations/categories/list-organizations-categories.js.map +1 -0
  173. package/tools/organizations/categories/list-organizations-categories.mjs +35 -0
  174. package/tools/organizations/categories/list-organizations-categories.mjs.map +1 -0
  175. package/tools/organizations/categories/prompts-organizations-categories.d.mts +45 -0
  176. package/tools/organizations/categories/prompts-organizations-categories.d.mts.map +1 -0
  177. package/tools/organizations/categories/prompts-organizations-categories.d.ts +45 -0
  178. package/tools/organizations/categories/prompts-organizations-categories.d.ts.map +1 -0
  179. package/tools/organizations/categories/prompts-organizations-categories.js +43 -0
  180. package/tools/organizations/categories/prompts-organizations-categories.js.map +1 -0
  181. package/tools/organizations/categories/prompts-organizations-categories.mjs +39 -0
  182. package/tools/organizations/categories/prompts-organizations-categories.mjs.map +1 -0
  183. package/tools/organizations/categories/tags-organizations-categories.d.mts +45 -0
  184. package/tools/organizations/categories/tags-organizations-categories.d.mts.map +1 -0
  185. package/tools/organizations/categories/tags-organizations-categories.d.ts +45 -0
  186. package/tools/organizations/categories/tags-organizations-categories.d.ts.map +1 -0
  187. package/tools/organizations/categories/tags-organizations-categories.js +43 -0
  188. package/tools/organizations/categories/tags-organizations-categories.js.map +1 -0
  189. package/tools/organizations/categories/tags-organizations-categories.mjs +39 -0
  190. package/tools/organizations/categories/tags-organizations-categories.mjs.map +1 -0
  191. package/tools/organizations/categories/topics-organizations-categories.d.mts +45 -0
  192. package/tools/organizations/categories/topics-organizations-categories.d.mts.map +1 -0
  193. package/tools/organizations/categories/topics-organizations-categories.d.ts +45 -0
  194. package/tools/organizations/categories/topics-organizations-categories.d.ts.map +1 -0
  195. package/tools/organizations/categories/topics-organizations-categories.js +43 -0
  196. package/tools/organizations/categories/topics-organizations-categories.js.map +1 -0
  197. package/tools/organizations/categories/topics-organizations-categories.mjs +39 -0
  198. package/tools/organizations/categories/topics-organizations-categories.mjs.map +1 -0
  199. package/tools/organizations/domains-organizations.d.mts +45 -0
  200. package/tools/organizations/domains-organizations.d.mts.map +1 -0
  201. package/tools/organizations/domains-organizations.d.ts +45 -0
  202. package/tools/organizations/domains-organizations.d.ts.map +1 -0
  203. package/tools/organizations/domains-organizations.js +39 -0
  204. package/tools/organizations/domains-organizations.js.map +1 -0
  205. package/tools/organizations/domains-organizations.mjs +35 -0
  206. package/tools/organizations/domains-organizations.mjs.map +1 -0
  207. package/tools/organizations/models-organizations.d.mts +45 -0
  208. package/tools/organizations/models-organizations.d.mts.map +1 -0
  209. package/tools/organizations/models-organizations.d.ts +45 -0
  210. package/tools/organizations/models-organizations.d.ts.map +1 -0
  211. package/tools/organizations/models-organizations.js +39 -0
  212. package/tools/organizations/models-organizations.js.map +1 -0
  213. package/tools/organizations/models-organizations.mjs +35 -0
  214. package/tools/organizations/models-organizations.mjs.map +1 -0
  215. package/tools/organizations/regions-organizations.d.mts +45 -0
  216. package/tools/organizations/regions-organizations.d.mts.map +1 -0
  217. package/tools/organizations/regions-organizations.d.ts +45 -0
  218. package/tools/organizations/regions-organizations.d.ts.map +1 -0
  219. package/tools/organizations/regions-organizations.js +39 -0
  220. package/tools/organizations/regions-organizations.js.map +1 -0
  221. package/tools/organizations/regions-organizations.mjs +35 -0
  222. package/tools/organizations/regions-organizations.mjs.map +1 -0
  223. package/tools/prompts/answers-prompts.d.mts +45 -0
  224. package/tools/prompts/answers-prompts.d.mts.map +1 -0
  225. package/tools/prompts/answers-prompts.d.ts +45 -0
  226. package/tools/prompts/answers-prompts.d.ts.map +1 -0
  227. package/tools/prompts/answers-prompts.js +194 -0
  228. package/tools/prompts/answers-prompts.js.map +1 -0
  229. package/tools/prompts/answers-prompts.mjs +190 -0
  230. package/tools/prompts/answers-prompts.mjs.map +1 -0
  231. package/tools/reports/citations-reports.d.mts +45 -0
  232. package/tools/reports/citations-reports.d.mts.map +1 -0
  233. package/tools/reports/citations-reports.d.ts +45 -0
  234. package/tools/reports/citations-reports.d.ts.map +1 -0
  235. package/tools/reports/citations-reports.js +164 -0
  236. package/tools/reports/citations-reports.js.map +1 -0
  237. package/tools/reports/citations-reports.mjs +160 -0
  238. package/tools/reports/citations-reports.mjs.map +1 -0
  239. package/tools/reports/sentiment-reports.d.mts +45 -0
  240. package/tools/reports/sentiment-reports.d.mts.map +1 -0
  241. package/tools/reports/sentiment-reports.d.ts +45 -0
  242. package/tools/reports/sentiment-reports.d.ts.map +1 -0
  243. package/tools/reports/sentiment-reports.js +164 -0
  244. package/tools/reports/sentiment-reports.js.map +1 -0
  245. package/tools/reports/sentiment-reports.mjs +160 -0
  246. package/tools/reports/sentiment-reports.mjs.map +1 -0
  247. package/tools/reports/visibility-reports.d.mts +45 -0
  248. package/tools/reports/visibility-reports.d.mts.map +1 -0
  249. package/tools/reports/visibility-reports.d.ts +45 -0
  250. package/tools/reports/visibility-reports.d.ts.map +1 -0
  251. package/tools/reports/visibility-reports.js +164 -0
  252. package/tools/reports/visibility-reports.js.map +1 -0
  253. package/tools/reports/visibility-reports.mjs +160 -0
  254. package/tools/reports/visibility-reports.mjs.map +1 -0
  255. package/tools/types.d.mts +51 -0
  256. package/tools/types.d.mts.map +1 -0
  257. package/tools/types.d.ts +51 -0
  258. package/tools/types.d.ts.map +1 -0
  259. package/tools/types.js +46 -0
  260. package/tools/types.js.map +1 -0
  261. package/tools/types.mjs +42 -0
  262. package/tools/types.mjs.map +1 -0
  263. package/tools.d.mts +2 -0
  264. package/tools.d.mts.map +1 -0
  265. package/tools.d.ts +2 -0
  266. package/tools.d.ts.map +1 -0
  267. package/tools.js +18 -0
  268. package/tools.js.map +1 -0
  269. package/tools.mjs +2 -0
  270. package/tools.mjs.map +1 -0
@@ -0,0 +1,186 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'logs.raw',
11
+ operation: 'write',
12
+ tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/v1/logs/raw',
15
+ operationId: 'get_logs_v1_logs_raw_post',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'logs_logs_raw',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet all logs with filters\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/raw_logs_response',\n $defs: {\n raw_logs_response: {\n anyOf: [ {\n type: 'array',\n title: 'LogVisitList',\n items: {\n type: 'object',\n title: 'LogVisit',\n description: 'DB Model for a log visit.',\n properties: {\n host: {\n type: 'string',\n title: 'Host'\n },\n ip: {\n type: 'string',\n title: 'Ip'\n },\n method: {\n type: 'string',\n title: 'Method'\n },\n org_id: {\n type: 'string',\n title: 'Org Id'\n },\n path: {\n type: 'string',\n title: 'Path'\n },\n status_code: {\n type: 'integer',\n title: 'Status Code'\n },\n timestamp: {\n type: 'string',\n title: 'Timestamp',\n format: 'date-time'\n },\n user_agent: {\n type: 'string',\n title: 'User Agent'\n },\n bytes_sent: {\n type: 'integer',\n title: 'Bytes Sent'\n },\n duration_ms: {\n type: 'integer',\n title: 'Duration Ms'\n },\n query_params: {\n type: 'object',\n title: 'Query Params',\n additionalProperties: true\n },\n referer: {\n type: 'string',\n title: 'Referer'\n }\n },\n required: [ 'host',\n 'ip',\n 'method',\n 'org_id',\n 'path',\n 'status_code',\n 'timestamp',\n 'user_agent'\n ]\n }\n },\n {\n $ref: '#/$defs/report_response'\n }\n ],\n title: 'Response Get Logs V1 Logs Raw Post',\n description: 'Base response model for reports.'\n },\n report_response: {\n type: 'object',\n title: 'Response',\n description: 'Base response model for reports.',\n properties: {\n data: {\n type: 'array',\n title: 'Data',\n items: {\n $ref: '#/$defs/report_result'\n }\n },\n info: {\n $ref: '#/$defs/report_info'\n }\n },\n required: [ 'data',\n 'info'\n ]\n },\n report_result: {\n type: 'object',\n title: 'Result',\n description: 'Base model for report results.',\n properties: {\n dimensions: {\n type: 'array',\n title: 'Dimensions',\n items: {\n type: 'string'\n }\n },\n metrics: {\n type: 'array',\n title: 'Metrics',\n items: {\n type: 'number'\n }\n }\n },\n required: [ 'dimensions',\n 'metrics'\n ]\n },\n report_info: {\n type: 'object',\n title: 'Info',\n description: 'Base model for report information.',\n properties: {\n total_rows: {\n type: 'integer',\n title: 'Total Rows'\n },\n query: {\n type: 'object',\n title: 'Query',\n additionalProperties: true\n }\n },\n required: [ 'total_rows'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ domain: {
26
+ type: 'string',
27
+ title: 'Domain',
28
+ description: 'Domain to query logs for.',
29
+ },
30
+ metrics: {
31
+ type: 'array',
32
+ title: 'Metrics',
33
+ items: {
34
+ type: 'string',
35
+ enum: ['count'],
36
+ },
37
+ },
38
+ start_date: {
39
+ type: 'string',
40
+ title: 'Start Date',
41
+ description:
42
+ 'Start date for logs. Accepts: YYYY-MM-DD, YYYY-MM-DD HH:MM, YYYY-MM-DD HH:MM:SS, or full ISO timestamp.',
43
+ format: 'date-time',
44
+ },
45
+ date_interval: {
46
+ type: 'string',
47
+ title: 'Date Interval',
48
+ description: 'Date interval for the report. (only used with date dimension)',
49
+ enum: ['day', 'week', 'month', 'year'],
50
+ },
51
+ dimensions: {
52
+ type: 'array',
53
+ title: 'Dimensions',
54
+ description: 'Dimensions to group the report by.',
55
+ items: {
56
+ type: 'string',
57
+ enum: [
58
+ 'timestamp',
59
+ 'method',
60
+ 'host',
61
+ 'path',
62
+ 'status_code',
63
+ 'ip',
64
+ 'user_agent',
65
+ 'referer',
66
+ 'bytes_sent',
67
+ 'duration_ms',
68
+ 'query_params',
69
+ ],
70
+ },
71
+ },
72
+ end_date: {
73
+ type: 'string',
74
+ title: 'End Date',
75
+ description: 'End date for logs. Accepts same formats as start_date. Defaults to now if omitted.',
76
+ format: 'date-time',
77
+ },
78
+ filters: {
79
+ type: 'array',
80
+ title: 'Filters',
81
+ description: 'List of filters to apply to the report. Each filter has an operator, field, and value.',
82
+ items: {
83
+ type: 'object',
84
+ title:
85
+ "Filter[Literal['method', 'path', 'status_code', 'ip', 'user_agent', 'referer', 'query_params']]",
86
+ properties: {
87
+ field: {
88
+ type: 'string',
89
+ title: 'Field',
90
+ enum: ['method', 'path', 'status_code', 'ip', 'user_agent', 'referer', 'query_params'],
91
+ },
92
+ operator: {
93
+ type: 'string',
94
+ title: 'Operator',
95
+ enum: [
96
+ 'is',
97
+ 'not_is',
98
+ 'in',
99
+ 'not_in',
100
+ 'contains',
101
+ 'not_contains',
102
+ 'contains_case_insensitive',
103
+ 'not_contains_case_insensitive',
104
+ 'matches',
105
+ ],
106
+ },
107
+ value: {
108
+ anyOf: [
109
+ {
110
+ type: 'string',
111
+ title: 'FilterStringValue',
112
+ },
113
+ {
114
+ type: 'array',
115
+ title: 'FilterStringListValue',
116
+ items: {
117
+ type: 'string',
118
+ },
119
+ },
120
+ {
121
+ type: 'integer',
122
+ title: 'FilterIntegerValue',
123
+ },
124
+ {
125
+ type: 'array',
126
+ title: 'FilterIntegerListValue',
127
+ items: {
128
+ type: 'integer',
129
+ },
130
+ },
131
+ ],
132
+ title: 'Value',
133
+ description:
134
+ 'Value for the filter. Can be a single value or a list of depending on the operator.',
135
+ },
136
+ },
137
+ required: ['field', 'operator', 'value'],
138
+ },
139
+ },
140
+ order_by: {
141
+ type: 'object',
142
+ title: 'Order By',
143
+ description:
144
+ "\nCustom ordering of the report results.\n\nThe order is a record of key-value pairs where:\n- key is the field to order by, which can be a metric or dimension\n- value is the direction of the order, either 'asc' for ascending or 'desc' for descending.\n\nWhen not specified, the default order is the first metric in the query descending.\n ",
145
+ additionalProperties: true,
146
+ },
147
+ pagination: {
148
+ $ref: '#/$defs/pagination',
149
+ },
150
+ jq_filter: {
151
+ type: 'string',
152
+ title: 'jq Filter',
153
+ description:
154
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
155
+ },
156
+ },
157
+ required: ['domain', 'metrics', 'start_date'],
158
+ $defs: {
159
+ pagination: {
160
+ type: 'object',
161
+ title: 'Pagination',
162
+ description: 'Report pagination model.',
163
+ properties: {
164
+ limit: {
165
+ type: 'integer',
166
+ title: 'Limit',
167
+ description: 'Maximum number of results to return. Default is 10,000, maximum is 50,000.',
168
+ },
169
+ offset: {
170
+ type: 'integer',
171
+ title: 'Offset',
172
+ description: 'Offset for the results. Used for pagination.',
173
+ },
174
+ },
175
+ },
176
+ },
177
+ },
178
+ annotations: {},
179
+ };
180
+
181
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
182
+ const { jq_filter, ...body } = args as any;
183
+ return asTextContentResult(await maybeFilter(jq_filter, await client.logs.raw.logs(body)));
184
+ };
185
+
186
+ export default { metadata, tool, handler };
@@ -0,0 +1,44 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations.categories',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/categories',
15
+ operationId: 'get_categories_v1_org_categories_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'list_organizations_categories',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the organization categories.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_list_response',\n $defs: {\n category_list_response: {\n type: 'array',\n title: 'Response Get Categories V1 Org Categories Get',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n org_item: {\n type: 'object',\n title: 'OrgItem',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ return asTextContentResult(await maybeFilter(jq_filter, await client.organizations.categories.list()));
42
+ };
43
+
44
+ export default { metadata, tool, handler };
@@ -0,0 +1,50 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations.categories',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/categories/{category_id}/prompts',
15
+ operationId: 'get_category_prompts_v1_org_categories__category_id__prompts_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'prompts_organizations_categories',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet Category Prompts\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_prompts_response',\n $defs: {\n category_prompts_response: {\n type: 'object',\n title: 'CategoryPromptsResponse',\n properties: {\n data: {\n type: 'array',\n title: 'Data',\n items: {\n type: 'object',\n title: 'Prompt',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n created_at: {\n type: 'string',\n title: 'Created At',\n format: 'date-time'\n },\n platforms: {\n type: 'array',\n title: 'Platforms',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n prompt: {\n type: 'string',\n title: 'Prompt'\n },\n prompt_type: {\n type: 'string',\n title: 'Prompt Type'\n },\n regions: {\n type: 'array',\n title: 'Regions',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n topic: {\n $ref: '#/$defs/org_item'\n },\n tags: {\n type: 'array',\n title: 'Tags',\n items: {\n $ref: '#/$defs/org_item'\n }\n }\n },\n required: [ 'id',\n 'created_at',\n 'platforms',\n 'prompt',\n 'prompt_type',\n 'regions',\n 'topic'\n ]\n }\n }\n },\n required: [ 'data'\n ]\n },\n org_item: {\n type: 'object',\n title: 'OrgItem',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ category_id: {
26
+ type: 'string',
27
+ title: 'Category Id',
28
+ },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
34
+ },
35
+ },
36
+ required: ['category_id'],
37
+ },
38
+ annotations: {
39
+ readOnlyHint: true,
40
+ },
41
+ };
42
+
43
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
44
+ const { category_id, jq_filter, ...body } = args as any;
45
+ return asTextContentResult(
46
+ await maybeFilter(jq_filter, await client.organizations.categories.prompts(category_id)),
47
+ );
48
+ };
49
+
50
+ export default { metadata, tool, handler };
@@ -0,0 +1,50 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations.categories',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/categories/{category_id}/tags',
15
+ operationId: 'get_category_tags_v1_org_categories__category_id__tags_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'tags_organizations_categories',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the organization tags for a specific category.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_tags_response',\n $defs: {\n category_tags_response: {\n type: 'array',\n title: 'Response Get Category Tags V1 Org Categories Category Id Tags Get',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n org_item: {\n type: 'object',\n title: 'OrgItem',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ category_id: {
26
+ type: 'string',
27
+ title: 'Category Id',
28
+ },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
34
+ },
35
+ },
36
+ required: ['category_id'],
37
+ },
38
+ annotations: {
39
+ readOnlyHint: true,
40
+ },
41
+ };
42
+
43
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
44
+ const { category_id, jq_filter, ...body } = args as any;
45
+ return asTextContentResult(
46
+ await maybeFilter(jq_filter, await client.organizations.categories.tags(category_id)),
47
+ );
48
+ };
49
+
50
+ export default { metadata, tool, handler };
@@ -0,0 +1,50 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations.categories',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/categories/{category_id}/topics',
15
+ operationId: 'get_category_topics_v1_org_categories__category_id__topics_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'topics_organizations_categories',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the organization categories.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/category_topics_response',\n $defs: {\n category_topics_response: {\n type: 'array',\n title: 'Response Get Category Topics V1 Org Categories Category Id Topics Get',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n org_item: {\n type: 'object',\n title: 'OrgItem',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ category_id: {
26
+ type: 'string',
27
+ title: 'Category Id',
28
+ },
29
+ jq_filter: {
30
+ type: 'string',
31
+ title: 'jq Filter',
32
+ description:
33
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
34
+ },
35
+ },
36
+ required: ['category_id'],
37
+ },
38
+ annotations: {
39
+ readOnlyHint: true,
40
+ },
41
+ };
42
+
43
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
44
+ const { category_id, jq_filter, ...body } = args as any;
45
+ return asTextContentResult(
46
+ await maybeFilter(jq_filter, await client.organizations.categories.topics(category_id)),
47
+ );
48
+ };
49
+
50
+ export default { metadata, tool, handler };
@@ -0,0 +1,44 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/domains',
15
+ operationId: 'get_domains_v1_org_domains_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'domains_organizations',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the organization domains.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/organization_domains_response',\n $defs: {\n organization_domains_response: {\n type: 'array',\n title: 'Response Get Domains V1 Org Domains Get',\n items: {\n type: 'object',\n title: 'Domain',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n created_at: {\n type: 'string',\n title: 'Created At',\n format: 'date-time'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'created_at',\n 'name'\n ]\n }\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ return asTextContentResult(await maybeFilter(jq_filter, await client.organizations.domains()));
42
+ };
43
+
44
+ export default { metadata, tool, handler };
@@ -0,0 +1,44 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/models',
15
+ operationId: 'get_models_v1_org_models_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'models_organizations',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the organization models.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/organization_models_response',\n $defs: {\n organization_models_response: {\n type: 'array',\n title: 'Response Get Models V1 Org Models Get',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n org_item: {\n type: 'object',\n title: 'OrgItem',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ return asTextContentResult(await maybeFilter(jq_filter, await client.organizations.models()));
42
+ };
43
+
44
+ export default { metadata, tool, handler };
@@ -0,0 +1,44 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from 'profound-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from 'profound-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import Profound from 'profoundai';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'organizations',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/org/regions',
15
+ operationId: 'get_regions_v1_org_regions_get',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'regions_organizations',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet the organization regions.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/organization_regions_response',\n $defs: {\n organization_regions_response: {\n type: 'array',\n title: 'Response Get Regions V1 Org Regions Get',\n items: {\n $ref: '#/$defs/org_item'\n }\n },\n org_item: {\n type: 'object',\n title: 'OrgItem',\n properties: {\n id: {\n type: 'string',\n title: 'Id'\n },\n name: {\n type: 'string',\n title: 'Name'\n }\n },\n required: [ 'id',\n 'name'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: Profound, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ return asTextContentResult(await maybeFilter(jq_filter, await client.organizations.regions()));
42
+ };
43
+
44
+ export default { metadata, tool, handler };