@apicity/mcp-server 0.2.1 → 0.2.3

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.
package/README.md CHANGED
@@ -84,18 +84,21 @@ pass through untouched.
84
84
 
85
85
  ## Paid endpoints
86
86
 
87
- A few endpoints incur direct marginal cost (e.g. `kie_api_v1_jobs_createTask`
88
- for video/image generation) and are gated behind a single-use OTP. The server
89
- is the **code client**: pass `--paygate-secret-file <path>` and it holds the
90
- shared HMAC secret to **verify** OTPs it never mints them. Paid tools
91
- advertise an extra optional `otp` argument.
87
+ A few endpoints incur direct marginal cost (e.g. `kie_post_api_v1_jobs_create_task`
88
+ for general media generation, plus direct VEO tools
89
+ `kie_post_api_v1_veo_generate` and `kie_post_api_v1_veo_extend`) and are gated
90
+ behind a single-use OTP. The server is the **code client**: pass
91
+ `--paygate-secret-file <path>` and it holds the shared HMAC secret to
92
+ **verify** OTPs — it never mints them. Paid tools advertise an extra optional
93
+ `otp` argument.
92
94
 
93
95
  To run a paid call, a human mints an OTP out-of-band from the same secret
94
- (`apicity-paygate otp mint --secret-file --dot-path api.v1.jobs.createTask
95
- --payload-file request.json --ttl 10m`) and the caller passes it as the tool's
96
- `otp` argument. Because the AI driving the tool never sees the secret, it cannot
97
- self-approve: with no `otp` (or no secret configured) the paid call fails closed.
98
- See [@apicity/cost](../provider/cost) for the full spec.
96
+ (`apicity-paygate otp mint --secret-file ... --dot-path api.v1.jobs.createTask
97
+ --payload-file request.json --ttl 10m`; direct VEO uses
98
+ `api.v1.veo.generate` or `api.v1.veo.extend`) and the caller passes it as the
99
+ tool's `otp` argument. Because the AI driving the tool never sees the secret,
100
+ it cannot self-approve: with no `otp` (or no secret configured) the paid call
101
+ fails closed. See [@apicity/cost](../provider/cost) for the full spec.
99
102
 
100
103
  ## Programmatic use
101
104
 
@@ -1,4 +1,5 @@
1
1
  provider dotPath method fullUrl docsUrl
2
+ alibaba api.v1.services.aigc.imageGeneration.generation POST https://dashscope.aliyuncs.com/api/v1/services/aigc/image-generation/generation
2
3
  alibaba api.v1.services.aigc.multimodalGeneration.generation POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation https://www.alibabacloud.com/help/en/model-studio/qwen-image-edit
3
4
  alibaba api.v1.services.aigc.videoGeneration.videoSynthesis POST https://dashscope.aliyuncs.com/api/v1/services/aigc/video-generation/video-synthesis https://help.aliyun.com/zh/model-studio
4
5
  alibaba api.v1.tasks GET https://dashscope.aliyuncs.com/api/v1/tasks/{taskId} https://help.aliyun.com/zh/model-studio
@@ -27,24 +28,40 @@ anthropic v1.skills.retrieve GET https://api.anthropic.com/v1/skills/{skillId} h
27
28
  anthropic v1.skills.versions.create POST https://api.anthropic.com/v1/skills/{skillId}/versions https://docs.anthropic.com/en/api
28
29
  anthropic v1.skills.versions.del DELETE https://api.anthropic.com/v1/skills/{skillId}/versions/{version} https://docs.anthropic.com/en/api
29
30
  anthropic v1.skills.versions.list GET https://api.anthropic.com/v1/skills/{skillId}/versions https://docs.anthropic.com/en/api
31
+ dolthub v1alpha1.branches.create POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/branches https://www.dolthub.com/docs/products/dolthub/api/database
32
+ dolthub v1alpha1.branches.list GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/branches https://www.dolthub.com/docs/products/dolthub/api/database
33
+ dolthub v1alpha1.database.create POST https://www.dolthub.com/api/v1alpha1/database https://www.dolthub.com/docs/products/dolthub/api/database
34
+ dolthub v1alpha1.pulls GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls/{pullId}
35
+ dolthub v1alpha1.pulls.create POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls https://www.dolthub.com/docs/products/dolthub/api/database
36
+ dolthub v1alpha1.pulls.list GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls{query} https://www.dolthub.com/docs/products/dolthub/api/database
37
+ dolthub v1alpha1.pulls.merge POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls/{pullId}/merge https://www.dolthub.com/docs/products/dolthub/api/database
38
+ dolthub v1alpha1.sql.read GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}{refPath}{query} https://www.dolthub.com/docs/products/dolthub/api/sql
39
+ dolthub v1alpha1.sql.write POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/write/{fromBranch}/{toBranch}{query} https://www.dolthub.com/docs/products/dolthub/api/sql
40
+ dolthub v1alpha1.sql.writePoll GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/write{query} https://www.dolthub.com/docs/products/dolthub/api/sql
41
+ dolthub v1alpha1.user GET https://www.dolthub.com/api/v1alpha1/user
30
42
  elevenlabs v1.soundGeneration POST https://api.elevenlabs.io/v1/sound-generation https://elevenlabs.io/docs/api-reference/text-to-sound-effects/convert
31
43
  elevenlabs v1.speechToText POST https://api.elevenlabs.io/v1/speech-to-text https://elevenlabs.io/docs/api-reference/speech-to-text/convert
32
- fal bytedance.seedance2p0.imageToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/image-to-video https://docs.fal.ai
33
- fal bytedance.seedance2p0.textToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/text-to-video https://docs.fal.ai
44
+ elevenlabs v1.textToDialogue POST https://api.elevenlabs.io/v1/text-to-dialogue https://elevenlabs.io/docs/api-reference/text-to-dialogue/convert
45
+ elevenlabs v1.textToSpeech POST https://api.elevenlabs.io/v1/text-to-speech/{voiceId} https://elevenlabs.io/docs/api-reference/text-to-speech/convert
34
46
  fal bytedance.seedance2p0.fast.imageToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/fast/image-to-video https://docs.fal.ai
47
+ fal bytedance.seedance2p0.fast.referenceToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/fast/reference-to-video
35
48
  fal bytedance.seedance2p0.fast.textToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/fast/text-to-video https://docs.fal.ai
49
+ fal bytedance.seedance2p0.imageToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/image-to-video https://docs.fal.ai
50
+ fal bytedance.seedance2p0.referenceToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/reference-to-video
51
+ fal bytedance.seedance2p0.textToVideo POST https://api.fal.ai/v1/bytedance/seedance-2.0/text-to-video https://docs.fal.ai
36
52
  fal bytedance.seedream.v5.lite.edit POST https://api.fal.ai/v1/fal-ai/bytedance/seedream/v5/lite/edit https://docs.fal.ai
37
53
  fal bytedance.seedream.v5.lite.textToImage POST https://api.fal.ai/v1/fal-ai/bytedance/seedream/v5/lite/text-to-image https://docs.fal.ai
38
54
  fal falAi.elevenlabs.speechToText.scribeV2 POST https://api.fal.ai/v1/fal-ai/elevenlabs/speech-to-text/scribe-v2 https://docs.fal.ai
39
55
  fal gptImage1p5 POST https://api.fal.ai/v1/fal-ai/gpt-image-1.5 https://docs.fal.ai
40
56
  fal gptImage1p5.edit POST https://api.fal.ai/v1/fal-ai/gpt-image-1.5/edit https://docs.fal.ai
57
+ fal hunyuan.v3.instructEdit POST https://api.fal.ai/v1/fal-ai/hunyuan-image/v3/instruct/edit https://docs.fal.ai
58
+ fal klingVideo.o3p4k.imageToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/o3/4k/image-to-video https://docs.fal.ai
59
+ fal klingVideo.o3p4k.referenceToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/o3/4k/reference-to-video https://docs.fal.ai
60
+ fal klingVideo.o3p4k.textToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/o3/4k/text-to-video https://docs.fal.ai
41
61
  fal klingVideo.v3.pro.imageToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/v3/pro/image-to-video https://docs.fal.ai
42
62
  fal klingVideo.v3.pro.textToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/v3/pro/text-to-video https://docs.fal.ai
43
63
  fal klingVideo.v3.standard.imageToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/v3/standard/image-to-video https://docs.fal.ai
44
64
  fal klingVideo.v3.standard.textToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/v3/standard/text-to-video https://docs.fal.ai
45
- fal klingVideo.o3p4k.imageToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/o3/4k/image-to-video https://docs.fal.ai
46
- fal klingVideo.o3p4k.referenceToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/o3/4k/reference-to-video https://docs.fal.ai
47
- fal klingVideo.o3p4k.textToVideo POST https://api.fal.ai/v1/fal-ai/kling-video/o3/4k/text-to-video https://docs.fal.ai
48
65
  fal nanoBanana.edit POST https://api.fal.ai/v1/fal-ai/nano-banana/edit https://docs.fal.ai
49
66
  fal nanoBanana.textToImage POST https://api.fal.ai/v1/fal-ai/nano-banana https://docs.fal.ai
50
67
  fal nanoBanana2.edit POST https://api.fal.ai/v1/fal-ai/nano-banana-2/edit https://docs.fal.ai
@@ -55,6 +72,9 @@ fal qwenImage POST https://api.fal.ai/v1/fal-ai/qwen-image https://docs.fal.ai
55
72
  fal qwenImage.edit POST https://api.fal.ai/v1/fal-ai/qwen-image-edit https://docs.fal.ai
56
73
  fal sora2.imageToVideo POST https://api.fal.ai/v1/fal-ai/sora-2/image-to-video https://docs.fal.ai
57
74
  fal sora2.textToVideo POST https://api.fal.ai/v1/fal-ai/sora-2/text-to-video https://docs.fal.ai
75
+ fal storage.upload.completeMultipart ? ? https://docs.fal.ai
76
+ fal storage.upload.initiate ? ? https://docs.fal.ai
77
+ fal storage.upload.initiateMultipart ? ? https://docs.fal.ai
58
78
  fal v1.models GET https://api.fal.ai/v1/models https://docs.fal.ai
59
79
  fal v1.models.pricing GET https://api.fal.ai/v1/models/pricing https://docs.fal.ai
60
80
  fal v1.models.pricing.estimate GET https://api.fal.ai/v1/models/pricing/estimate https://docs.fal.ai
@@ -64,26 +84,24 @@ fal v1.models.requests.payloads GET https://api.fal.ai/v1/models/requests/{param
64
84
  fal v1.queue.submit POST https://api.fal.ai/v1/POST https://docs.fal.ai
65
85
  fal v1.serverless.files.uploadLocal POST https://api.fal.ai/v1/serverless/files/file/local/{param} https://docs.fal.ai
66
86
  fal v1.serverless.files.uploadUrl POST https://api.fal.ai/v1/serverless/files/file/url/{param} https://docs.fal.ai
67
- fal storage.upload.initiate POST https://rest.fal.ai/storage/upload/initiate https://docs.fal.ai
68
- fal storage.upload.initiateMultipart POST https://rest.fal.ai/storage/upload/initiate-multipart https://docs.fal.ai
69
- fal storage.upload.completeMultipart POST https://rest.fal.ai/storage/upload/complete-multipart https://docs.fal.ai
70
87
  fal v1.serverless.logs POST https://api.fal.ai/v1/serverless/logs/stream https://docs.fal.ai
71
88
  fal v1.workflows GET https://api.fal.ai/v1/workflows https://docs.fal.ai
72
89
  fal veo3p1.imageToVideo POST https://api.fal.ai/v1/fal-ai/veo3.1/image-to-video https://docs.fal.ai
73
90
  fal veo3p1.textToVideo POST https://api.fal.ai/v1/fal-ai/veo3.1 https://docs.fal.ai
74
91
  fal wan.v2p7.edit POST https://api.fal.ai/v1/fal-ai/wan/v2.7/edit https://docs.fal.ai
75
- fal wan.v2p7.textToVideo POST https://api.fal.ai/v1/fal-ai/wan/v2.7/text-to-video https://docs.fal.ai
92
+ fal wan.v2p7.editVideo POST https://api.fal.ai/v1/fal-ai/wan/v2.7/edit-video
76
93
  fal wan.v2p7.imageToVideo POST https://api.fal.ai/v1/fal-ai/wan/v2.7/image-to-video https://docs.fal.ai
77
94
  fal wan.v2p7.pro.edit POST https://api.fal.ai/v1/fal-ai/wan/v2.7/pro/edit https://docs.fal.ai
78
95
  fal wan.v2p7.pro.textToImage POST https://api.fal.ai/v1/fal-ai/wan/v2.7/pro/text-to-image https://docs.fal.ai
96
+ fal wan.v2p7.referenceToVideo POST https://api.fal.ai/v1/fal-ai/wan/v2.7/reference-to-video
79
97
  fal wan.v2p7.textToImage POST https://api.fal.ai/v1/fal-ai/wan/v2.7/text-to-image https://docs.fal.ai
80
- fal hunyuan.v3.instructEdit POST https://api.fal.ai/v1/fal-ai/hunyuan-image/v3/instruct/edit https://docs.fal.ai
98
+ fal wan.v2p7.textToVideo POST https://api.fal.ai/v1/fal-ai/wan/v2.7/text-to-video https://docs.fal.ai
81
99
  fal xai.grokImagineImage POST https://api.fal.ai/v1/xai/grok-imagine-image https://docs.fal.ai
82
100
  fal xai.grokImagineImage.edit POST https://api.fal.ai/v1/xai/grok-imagine-image/edit https://docs.fal.ai
101
+ fal xai.grokImagineVideo.editVideo POST https://api.fal.ai/v1/xai/grok-imagine-video/edit-video https://docs.fal.ai
102
+ fal xai.grokImagineVideo.extendVideo POST https://api.fal.ai/v1/xai/grok-imagine-video/extend-video https://docs.fal.ai
83
103
  fal xai.grokImagineVideo.imageToVideo POST https://api.fal.ai/v1/xai/grok-imagine-video/image-to-video https://docs.fal.ai
84
104
  fal xai.grokImagineVideo.referenceToVideo POST https://api.fal.ai/v1/xai/grok-imagine-video/reference-to-video https://docs.fal.ai
85
- fal xai.grokImagineVideo.extendVideo POST https://api.fal.ai/v1/xai/grok-imagine-video/extend-video https://docs.fal.ai
86
- fal xai.grokImagineVideo.editVideo POST https://api.fal.ai/v1/xai/grok-imagine-video/edit-video https://docs.fal.ai
87
105
  fireworks inference.v1.accounts GET https://api.fireworks.ai/inference/v1/v1/accounts/{accountId} https://docs.fireworks.ai/api-reference
88
106
  fireworks inference.v1.accounts.apiKeys DELETE https://api.fireworks.ai/inference/v1/v1/accounts/{accountId}/users/{userId}/apiKeys:delete https://docs.fireworks.ai/api-reference
89
107
  fireworks inference.v1.accounts.apiKeys.create POST https://api.fireworks.ai/inference/v1/v1/accounts/{accountId}/users/{userId}/apiKeys https://docs.fireworks.ai/api-reference
@@ -192,26 +210,43 @@ free-media-upload tempsh.upload POST https://temp.sh/upload https://temp.sh/
192
210
  free-media-upload tflink.upload POST https://tmpfile.link/api/upload https://tmpfile.link/
193
211
  free-media-upload tmpfiles.api.v1.upload POST https://tmpfiles.org/api/v1/upload https://tmpfiles.org/
194
212
  free-media-upload uguu.upload POST https://uguu.se/upload https://uguu.se/
195
- kie api.fileBase64Upload POST https://api.kie.ai/api/file-base64-upload https://docs.kie.ai
196
- kie api.fileStreamUpload POST https://api.kie.ai/api/file-stream-upload https://docs.kie.ai
197
- kie api.fileUrlUpload POST https://api.kie.ai/api/file-url-upload https://docs.kie.ai
198
- kie api.v1.chat.credit GET https://api.kie.ai/api/v1/chat/credit https://docs.kie.ai
199
- kie api.v1.common.downloadUrl POST https://api.kie.ai/api/v1/common/download-url https://docs.kie.ai
200
- kie api.v1.generate POST https://api.kie.ai/api/v1/generate https://docs.kie.ai
213
+ kie api.fileBase64Upload POST https://api.kie.ai/api/file-base64-upload https://docs.kie.ai/file-upload-api/upload-file-base-64
214
+ kie api.fileStreamUpload POST https://api.kie.ai/api/file-stream-upload https://docs.kie.ai/file-upload-api/upload-file-stream
215
+ kie api.fileUrlUpload POST https://api.kie.ai/api/file-url-upload https://docs.kie.ai/file-upload-api/upload-file-url
216
+ kie api.v1.chat.credit GET https://api.kie.ai/api/v1/chat/credit https://docs.kie.ai/common-api/get-account-credits
217
+ kie api.v1.common.downloadUrl POST https://api.kie.ai/api/v1/common/download-url https://docs.kie.ai/common-api/download-url
218
+ kie api.v1.elevenlabs.textToDialogueV3 POST https://api.kie.ai/api/v1/jobs/createTask https://docs.kie.ai/market/elevenlabs/text-to-dialogue-v3
219
+ kie api.v1.elevenlabs.textToSpeechMultilingualV2 POST https://api.kie.ai/api/v1/jobs/createTask https://docs.kie.ai/market/elevenlabs/text-to-speech-multilingual-v2
220
+ kie api.v1.elevenlabs.textToSpeechTurbo25 POST https://api.kie.ai/api/v1/jobs/createTask https://docs.kie.ai/market/elevenlabs/text-to-speech-turbo-2-5
221
+ kie api.v1.generate POST https://api.kie.ai/api/v1/generate https://docs.kie.ai/suno-api/generate-music
201
222
  kie api.v1.generate.addInstrumental POST https://api.kie.ai/api/v1/generate/add-instrumental https://docs.kie.ai/suno-api/add-instrumental
202
223
  kie api.v1.generate.addVocals POST https://api.kie.ai/api/v1/generate/add-vocals https://docs.kie.ai/suno-api/add-vocals
224
+ kie api.v1.generate.extend POST https://api.kie.ai/api/v1/generate/extend
203
225
  kie api.v1.generate.mashup POST https://api.kie.ai/api/v1/generate/mashup https://docs.kie.ai/suno-api/generate-mashup
226
+ kie api.v1.generate.recordInfo GET https://api.kie.ai/api/v1/generate/record-info?taskId={taskId}
204
227
  kie api.v1.generate.replaceSection POST https://api.kie.ai/api/v1/generate/replace-section https://docs.kie.ai/suno-api/replace-section
205
228
  kie api.v1.generate.sounds POST https://api.kie.ai/api/v1/generate/sounds https://docs.kie.ai/suno-api/generate-sounds
206
- kie api.v1.jobs.createTask POST https://api.kie.ai/api/v1/jobs/createTask https://docs.kie.ai
207
- kie api.v1.jobs.recordInfo GET https://api.kie.ai/api/v1/jobs/recordInfo?taskId={taskId} https://docs.kie.ai
208
- kie api.v1.veo.extend POST https://api.kie.ai/api/v1/veo/extend https://docs.kie.ai
209
- kie api.v1.veo.generate POST https://api.kie.ai/api/v1/veo/generate https://docs.kie.ai
210
- kie claude.v1.messages POST https://api.kie.ai/claude/v1/messages https://docs.kie.ai
229
+ kie api.v1.generate.uploadCover POST https://api.kie.ai/api/v1/generate/upload-cover
230
+ kie api.v1.generate.uploadExtend POST https://api.kie.ai/api/v1/generate/upload-extend
231
+ kie api.v1.jobs.createTask POST https://api.kie.ai/api/v1/jobs/createTask https://docs.kie.ai/market/quickstart
232
+ kie api.v1.jobs.recordInfo GET https://api.kie.ai/api/v1/jobs/recordInfo?taskId={taskId} https://docs.kie.ai/market/common/get-task-detail
233
+ kie api.v1.lyrics POST https://api.kie.ai/api/v1/lyrics
234
+ kie api.v1.midi.generate POST https://api.kie.ai/api/v1/midi/generate
235
+ kie api.v1.mp4.generate POST https://api.kie.ai/api/v1/mp4/generate
236
+ kie api.v1.omni.audio.create POST https://api.kie.ai/api/v1/omni/audio/create https://docs.kie.ai/market/gemini-omni-audio
237
+ kie api.v1.style.generate POST https://api.kie.ai/api/v1/style/generate
238
+ kie api.v1.veo.extend POST https://api.kie.ai/api/v1/veo/extend https://docs.kie.ai/veo3-api/extend-video
239
+ kie api.v1.veo.generate POST https://api.kie.ai/api/v1/veo/generate https://docs.kie.ai/veo3-api/generate-veo-3-video
240
+ kie api.v1.vocalRemoval.generate POST https://api.kie.ai/api/v1/vocal-removal/generate
241
+ kie api.v1.wav.generate POST https://api.kie.ai/api/v1/wav/generate
242
+ kie claude.v1.messages POST https://api.kie.ai/claude/v1/messages https://docs.kie.ai/market/claude/claude-sonnet-4-6
211
243
  kimicoding coding.v1.countTokens POST https://api.kimi.com/coding/v1/tokens/count https://platform.moonshot.ai/docs
212
244
  kimicoding coding.v1.embeddings POST https://api.kimi.com/coding/v1/embeddings https://platform.moonshot.ai/docs
213
245
  kimicoding coding.v1.messages POST https://api.kimi.com/coding/v1/messages https://platform.moonshot.ai/docs
214
246
  kimicoding coding.v1.models GET https://api.kimi.com/coding/v1/models https://platform.moonshot.ai/docs
247
+ meta v25.container GET https://graph.instagram.com/v25.0/{containerId}{query} https://developers.facebook.com/docs/instagram-platform/reference/ig-container/
248
+ meta v25.media POST https://graph.instagram.com/v25.0/{igUserId}/media https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media/
249
+ meta v25.mediaPublish POST https://graph.instagram.com/v25.0/{igUserId}/media_publish https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media_publish/
215
250
  openai v1.audio.speech POST https://api.openai.com/v1/audio/speech https://platform.openai.com/docs/api-reference
216
251
  openai v1.audio.transcriptions POST https://api.openai.com/v1/audio/transcriptions https://platform.openai.com/docs/api-reference
217
252
  openai v1.audio.translations POST https://api.openai.com/v1/audio/translations https://platform.openai.com/docs/api-reference
@@ -250,6 +285,57 @@ openai v1.responses.cancel POST https://api.openai.com/v1/responses/{id}/cancel
250
285
  openai v1.responses.compact POST https://api.openai.com/v1/responses/compact https://platform.openai.com/docs/api-reference
251
286
  openai v1.responses.inputItems GET https://api.openai.com/v1/responses/{id}/input_items https://platform.openai.com/docs/api-reference
252
287
  openai v1.responses.inputTokens POST https://api.openai.com/v1/responses/input_tokens https://platform.openai.com/docs/api-reference
288
+ polymarket clob.batchPricesHistory POST https://clob.polymarket.com/batch-prices-history https://docs.polymarket.com/api-reference/clob/get-batch-prices-history
289
+ polymarket clob.book GET https://clob.polymarket.com/book{query} https://docs.polymarket.com/api-reference/clob/get-order-book
290
+ polymarket clob.books POST https://clob.polymarket.com/books https://docs.polymarket.com/api-reference/clob/get-order-books
291
+ polymarket clob.clobMarkets GET https://clob.polymarket.com/clob-markets/{conditionId} https://docs.polymarket.com/api-reference/clob/get-clob-market-info
292
+ polymarket clob.feeRate GET https://clob.polymarket.com/fee-rate/{tokenId} https://docs.polymarket.com/api-reference/clob/get-fee-rate
293
+ polymarket clob.lastTradePrice GET https://clob.polymarket.com/last-trade-price{query} https://docs.polymarket.com/api-reference/clob/get-last-trade-price
294
+ polymarket clob.lastTradesPrices POST https://clob.polymarket.com/last-trades-prices https://docs.polymarket.com/api-reference/clob/get-last-trades-prices
295
+ polymarket clob.markets GET https://clob.polymarket.com/markets/{paramsOrConditionIdOrSignal} https://docs.polymarket.com/api-reference/clob/get-markets
296
+ polymarket clob.marketsByToken GET https://clob.polymarket.com/markets-by-token/{tokenId} https://docs.polymarket.com/api-reference/clob/get-market-by-token
297
+ polymarket clob.midpoint GET https://clob.polymarket.com/midpoint{query} https://docs.polymarket.com/api-reference/clob/get-midpoint
298
+ polymarket clob.midpoints POST https://clob.polymarket.com/midpoints https://docs.polymarket.com/api-reference/clob/get-midpoints
299
+ polymarket clob.price GET https://clob.polymarket.com/price{query} https://docs.polymarket.com/api-reference/clob/get-market-price
300
+ polymarket clob.prices POST https://clob.polymarket.com/prices https://docs.polymarket.com/api-reference/clob/get-market-prices
301
+ polymarket clob.pricesHistory GET https://clob.polymarket.com/prices-history{query} https://docs.polymarket.com/api-reference/clob/get-prices-history
302
+ polymarket clob.samplingMarkets GET https://clob.polymarket.com/sampling-markets{query} https://docs.polymarket.com/api-reference/clob/get-sampling-markets
303
+ polymarket clob.samplingSimplifiedMarkets GET https://clob.polymarket.com/sampling-simplified-markets{query} https://docs.polymarket.com/api-reference/clob/get-sampling-simplified-markets
304
+ polymarket clob.simplifiedMarkets GET https://clob.polymarket.com/simplified-markets{query} https://docs.polymarket.com/api-reference/clob/get-simplified-markets
305
+ polymarket clob.spread GET https://clob.polymarket.com/spread{query} https://docs.polymarket.com/api-reference/clob/get-spread
306
+ polymarket clob.spreads POST https://clob.polymarket.com/spreads https://docs.polymarket.com/api-reference/clob/get-spreads
307
+ polymarket clob.tickSize GET https://clob.polymarket.com/tick-size/{tokenId} https://docs.polymarket.com/api-reference/clob/get-tick-size
308
+ polymarket clob.time GET https://clob.polymarket.com/time https://docs.polymarket.com/api-reference/clob/get-server-time
309
+ polymarket data.activity GET https://data-api.polymarket.com/activity{query} https://docs.polymarket.com/api-reference/data/get-activity
310
+ polymarket data.holders GET https://data-api.polymarket.com/holders{query} https://docs.polymarket.com/api-reference/data/get-holders
311
+ polymarket data.liveVolume GET https://data-api.polymarket.com/live-volume{query} https://docs.polymarket.com/api-reference/data/get-live-volume
312
+ polymarket data.oi GET https://data-api.polymarket.com/oi{query} https://docs.polymarket.com/api-reference/data/get-open-interest
313
+ polymarket data.positions GET https://data-api.polymarket.com/positions{query} https://docs.polymarket.com/api-reference/data/get-positions
314
+ polymarket data.trades GET https://data-api.polymarket.com/trades{query} https://docs.polymarket.com/api-reference/data/get-trades
315
+ polymarket data.value GET https://data-api.polymarket.com/value{query} https://docs.polymarket.com/api-reference/data/get-positions-value
316
+ polymarket gamma.comments GET https://gamma-api.polymarket.com/comments/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-comments
317
+ polymarket gamma.comments.byUser GET https://gamma-api.polymarket.com/comments/user_address/{address}{query} https://docs.polymarket.com/api-reference/gamma/get-comments-by-user
318
+ polymarket gamma.events GET https://gamma-api.polymarket.com/events/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-events
319
+ polymarket gamma.events.keyset GET https://gamma-api.polymarket.com/events/keyset{query} https://docs.polymarket.com/api-reference/gamma/get-events-keyset
320
+ polymarket gamma.events.slug GET https://gamma-api.polymarket.com/events/slug/{slug} https://docs.polymarket.com/api-reference/gamma/get-event-by-slug
321
+ polymarket gamma.events.tags GET https://gamma-api.polymarket.com/events/{id}/tags https://docs.polymarket.com/api-reference/gamma/get-event-tags
322
+ polymarket gamma.markets GET https://gamma-api.polymarket.com/markets/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-markets
323
+ polymarket gamma.markets.keyset GET https://gamma-api.polymarket.com/markets/keyset{query} https://docs.polymarket.com/api-reference/gamma/get-markets-keyset
324
+ polymarket gamma.markets.slug GET https://gamma-api.polymarket.com/markets/slug/{slug} https://docs.polymarket.com/api-reference/gamma/get-market-by-slug
325
+ polymarket gamma.markets.tags GET https://gamma-api.polymarket.com/markets/{id}/tags https://docs.polymarket.com/api-reference/gamma/get-market-tags
326
+ polymarket gamma.search GET https://gamma-api.polymarket.com/public-search{query} https://docs.polymarket.com/api-reference/gamma/search
327
+ polymarket gamma.series GET https://gamma-api.polymarket.com/series/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-series
328
+ polymarket gamma.sports GET https://gamma-api.polymarket.com/sports https://docs.polymarket.com/api-reference/gamma/get-sports
329
+ polymarket gamma.sports.marketTypes GET https://gamma-api.polymarket.com/sports/market-types https://docs.polymarket.com/api-reference/gamma/get-sports-market-types
330
+ polymarket gamma.tags GET https://gamma-api.polymarket.com/tags/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-tags
331
+ polymarket gamma.tags.relatedTags GET https://gamma-api.polymarket.com/tags/{id}/related-tags https://docs.polymarket.com/api-reference/gamma/get-related-tags-by-id
332
+ polymarket gamma.tags.relatedTags.slug GET https://gamma-api.polymarket.com/tags/slug/{slug}/related-tags https://docs.polymarket.com/api-reference/gamma/get-related-tags-by-slug
333
+ polymarket gamma.tags.slug GET https://gamma-api.polymarket.com/tags/slug/{slug} https://docs.polymarket.com/api-reference/gamma/get-tag-by-slug
334
+ x v2.media.upload GET https://api.x.com/2/media/upload{query} https://docs.x.com/x-api/media/get-media-upload-status
335
+ x v2.media.upload.append POST https://api.x.com/2/media/upload/{id}/append https://docs.x.com/x-api/media/append-media-upload
336
+ x v2.media.upload.finalize POST https://api.x.com/2/media/upload/{id}/finalize https://docs.x.com/x-api/media/finalize-media-upload
337
+ x v2.media.upload.initialize POST https://api.x.com/2/media/upload/initialize https://docs.x.com/x-api/media/media-upload-initialize
338
+ x v2.tweets POST https://api.x.com/2/tweets https://docs.x.com/x-api/posts/create-post
253
339
  xai v1.batches GET https://api.x.ai/v1/batches/{paramsOrIdOrSignal} https://docs.x.ai/docs/api-reference
254
340
  xai v1.batches POST https://api.x.ai/v1/batches https://docs.x.ai/docs/api-reference
255
341
  xai v1.batches.cancel POST https://api.x.ai/v1/batches/{batchId}:cancel https://docs.x.ai/docs/api-reference
@@ -289,73 +375,8 @@ xai v1.videos GET https://api.x.ai/v1/videos/{requestId} https://docs.x.ai/docs/
289
375
  xai v1.videos.edits POST https://api.x.ai/v1/videos/edits https://docs.x.ai/docs/api-reference
290
376
  xai v1.videos.extensions POST https://api.x.ai/v1/videos/extensions https://docs.x.ai/docs/api-reference
291
377
  xai v1.videos.generations POST https://api.x.ai/v1/videos/generations https://docs.x.ai/docs/api-reference
292
- x v2.media.upload.initialize POST https://api.x.com/2/media/upload/initialize https://docs.x.com/x-api/media/media-upload-initialize
293
- x v2.media.upload.append POST https://api.x.com/2/media/upload/{id}/append https://docs.x.com/x-api/media/append-media-upload
294
- x v2.media.upload.finalize POST https://api.x.com/2/media/upload/{id}/finalize https://docs.x.com/x-api/media/finalize-media-upload
295
- x v2.media.upload GET https://api.x.com/2/media/upload{query} https://docs.x.com/x-api/media/get-media-upload-status
296
- x v2.tweets POST https://api.x.com/2/tweets https://docs.x.com/x-api/posts/create-post
297
- meta v25.media POST https://graph.instagram.com/v25.0/{igUserId}/media https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media/
298
- meta v25.container GET https://graph.instagram.com/v25.0/{containerId}{query} https://developers.facebook.com/docs/instagram-platform/reference/ig-container/
299
- meta v25.mediaPublish POST https://graph.instagram.com/v25.0/{igUserId}/media_publish https://developers.facebook.com/docs/instagram-platform/instagram-graph-api/reference/ig-user/media_publish/
300
- polymarket clob.time GET https://clob.polymarket.com/time https://docs.polymarket.com/api-reference/clob/get-server-time
301
- polymarket clob.book GET https://clob.polymarket.com/book{query} https://docs.polymarket.com/api-reference/clob/get-order-book
302
- polymarket clob.price GET https://clob.polymarket.com/price{query} https://docs.polymarket.com/api-reference/clob/get-market-price
303
- polymarket clob.midpoint GET https://clob.polymarket.com/midpoint{query} https://docs.polymarket.com/api-reference/clob/get-midpoint
304
- polymarket clob.spread GET https://clob.polymarket.com/spread{query} https://docs.polymarket.com/api-reference/clob/get-spread
305
- polymarket clob.lastTradePrice GET https://clob.polymarket.com/last-trade-price{query} https://docs.polymarket.com/api-reference/clob/get-last-trade-price
306
- polymarket clob.tickSize GET https://clob.polymarket.com/tick-size/{tokenId} https://docs.polymarket.com/api-reference/clob/get-tick-size
307
- polymarket clob.feeRate GET https://clob.polymarket.com/fee-rate/{tokenId} https://docs.polymarket.com/api-reference/clob/get-fee-rate
308
- polymarket clob.pricesHistory GET https://clob.polymarket.com/prices-history{query} https://docs.polymarket.com/api-reference/clob/get-prices-history
309
- polymarket clob.markets GET https://clob.polymarket.com/markets/{paramsOrConditionIdOrSignal} https://docs.polymarket.com/api-reference/clob/get-markets
310
- polymarket clob.samplingMarkets GET https://clob.polymarket.com/sampling-markets{query} https://docs.polymarket.com/api-reference/clob/get-sampling-markets
311
- polymarket clob.simplifiedMarkets GET https://clob.polymarket.com/simplified-markets{query} https://docs.polymarket.com/api-reference/clob/get-simplified-markets
312
- polymarket clob.samplingSimplifiedMarkets GET https://clob.polymarket.com/sampling-simplified-markets{query} https://docs.polymarket.com/api-reference/clob/get-sampling-simplified-markets
313
- polymarket clob.marketsByToken GET https://clob.polymarket.com/markets-by-token/{tokenId} https://docs.polymarket.com/api-reference/clob/get-market-by-token
314
- polymarket clob.clobMarkets GET https://clob.polymarket.com/clob-markets/{conditionId} https://docs.polymarket.com/api-reference/clob/get-clob-market-info
315
- polymarket clob.books POST https://clob.polymarket.com/books https://docs.polymarket.com/api-reference/clob/get-order-books
316
- polymarket clob.prices POST https://clob.polymarket.com/prices https://docs.polymarket.com/api-reference/clob/get-market-prices
317
- polymarket clob.midpoints POST https://clob.polymarket.com/midpoints https://docs.polymarket.com/api-reference/clob/get-midpoints
318
- polymarket clob.spreads POST https://clob.polymarket.com/spreads https://docs.polymarket.com/api-reference/clob/get-spreads
319
- polymarket clob.lastTradesPrices POST https://clob.polymarket.com/last-trades-prices https://docs.polymarket.com/api-reference/clob/get-last-trades-prices
320
- polymarket clob.batchPricesHistory POST https://clob.polymarket.com/batch-prices-history https://docs.polymarket.com/api-reference/clob/get-batch-prices-history
321
- polymarket gamma.events GET https://gamma-api.polymarket.com/events/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-events
322
- polymarket gamma.events.keyset GET https://gamma-api.polymarket.com/events/keyset{query} https://docs.polymarket.com/api-reference/gamma/get-events-keyset
323
- polymarket gamma.events.slug GET https://gamma-api.polymarket.com/events/slug/{slug} https://docs.polymarket.com/api-reference/gamma/get-event-by-slug
324
- polymarket gamma.events.tags GET https://gamma-api.polymarket.com/events/{id}/tags https://docs.polymarket.com/api-reference/gamma/get-event-tags
325
- polymarket gamma.markets GET https://gamma-api.polymarket.com/markets/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-markets
326
- polymarket gamma.markets.keyset GET https://gamma-api.polymarket.com/markets/keyset{query} https://docs.polymarket.com/api-reference/gamma/get-markets-keyset
327
- polymarket gamma.markets.slug GET https://gamma-api.polymarket.com/markets/slug/{slug} https://docs.polymarket.com/api-reference/gamma/get-market-by-slug
328
- polymarket gamma.markets.tags GET https://gamma-api.polymarket.com/markets/{id}/tags https://docs.polymarket.com/api-reference/gamma/get-market-tags
329
- polymarket gamma.series GET https://gamma-api.polymarket.com/series/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-series
330
- polymarket gamma.tags GET https://gamma-api.polymarket.com/tags/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-tags
331
- polymarket gamma.tags.slug GET https://gamma-api.polymarket.com/tags/slug/{slug} https://docs.polymarket.com/api-reference/gamma/get-tag-by-slug
332
- polymarket gamma.tags.relatedTags GET https://gamma-api.polymarket.com/tags/{id}/related-tags https://docs.polymarket.com/api-reference/gamma/get-related-tags-by-id
333
- polymarket gamma.tags.relatedTags.slug GET https://gamma-api.polymarket.com/tags/slug/{slug}/related-tags https://docs.polymarket.com/api-reference/gamma/get-related-tags-by-slug
334
- polymarket gamma.comments GET https://gamma-api.polymarket.com/comments/{paramsOrIdOrSignal} https://docs.polymarket.com/api-reference/gamma/get-comments
335
- polymarket gamma.comments.byUser GET https://gamma-api.polymarket.com/comments/user_address/{address}{query} https://docs.polymarket.com/api-reference/gamma/get-comments-by-user
336
- polymarket gamma.search GET https://gamma-api.polymarket.com/public-search{query} https://docs.polymarket.com/api-reference/gamma/search
337
- polymarket gamma.sports GET https://gamma-api.polymarket.com/sports https://docs.polymarket.com/api-reference/gamma/get-sports
338
- polymarket gamma.sports.marketTypes GET https://gamma-api.polymarket.com/sports/market-types https://docs.polymarket.com/api-reference/gamma/get-sports-market-types
339
- polymarket data.positions GET https://data-api.polymarket.com/positions{query} https://docs.polymarket.com/api-reference/data/get-positions
340
- polymarket data.value GET https://data-api.polymarket.com/value{query} https://docs.polymarket.com/api-reference/data/get-positions-value
341
- polymarket data.holders GET https://data-api.polymarket.com/holders{query} https://docs.polymarket.com/api-reference/data/get-holders
342
- polymarket data.activity GET https://data-api.polymarket.com/activity{query} https://docs.polymarket.com/api-reference/data/get-activity
343
- polymarket data.trades GET https://data-api.polymarket.com/trades{query} https://docs.polymarket.com/api-reference/data/get-trades
344
- polymarket data.oi GET https://data-api.polymarket.com/oi{query} https://docs.polymarket.com/api-reference/data/get-open-interest
345
- polymarket data.liveVolume GET https://data-api.polymarket.com/live-volume{query} https://docs.polymarket.com/api-reference/data/get-live-volume
346
- youtube videos.list GET https://www.googleapis.com/youtube/v3/videos{query} https://developers.google.com/youtube/v3/docs/videos/list
347
- youtube videos.insert POST https://www.googleapis.com/upload/youtube/v3/videos?uploadType=multipart https://developers.google.com/youtube/v3/docs/videos/insert
348
378
  youtube channels.list GET https://www.googleapis.com/youtube/v3/channels{query} https://developers.google.com/youtube/v3/docs/channels/list
349
- youtube transcripts.get GET https://www.youtube.com/watch?v={videoId} https://github.com/jdepoix/youtube-transcript-api
350
- youtube videoMetadata GET https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v={videoId}&format=json https://developers.google.com/youtube/player_parameters
351
- dolthub v1alpha1.sql.read GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/{ref} https://www.dolthub.com/docs/products/dolthub/api/sql
352
- dolthub v1alpha1.sql.write POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/write/{from_branch}/{to_branch} https://www.dolthub.com/docs/products/dolthub/api/sql
353
- dolthub v1alpha1.sql.writePoll GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/write https://www.dolthub.com/docs/products/dolthub/api/sql
354
- dolthub v1alpha1.database.create POST https://www.dolthub.com/api/v1alpha1/database https://www.dolthub.com/docs/products/dolthub/api/database
355
- dolthub v1alpha1.branches.list GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/branches https://www.dolthub.com/docs/products/dolthub/api/database
356
- dolthub v1alpha1.branches.create POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/branches https://www.dolthub.com/docs/products/dolthub/api/database
357
- dolthub v1alpha1.pulls.list GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls https://www.dolthub.com/docs/products/dolthub/api/database
358
- dolthub v1alpha1.pulls.create POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls https://www.dolthub.com/docs/products/dolthub/api/database
359
- dolthub v1alpha1.pulls.get GET https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls/{pull_id} https://www.dolthub.com/docs/products/dolthub/api/database
360
- dolthub v1alpha1.pulls.merge POST https://www.dolthub.com/api/v1alpha1/{owner}/{database}/pulls/{pull_id}/merge https://www.dolthub.com/docs/products/dolthub/api/database
361
- dolthub v1alpha1.user.get GET https://www.dolthub.com/api/v1alpha1/user https://www.dolthub.com/docs/products/dolthub/api/user
379
+ youtube transcripts GET https://www.youtube.com/watch?v={videoId}
380
+ youtube videoMetadata ? ? https://developers.google.com/youtube/player_parameters
381
+ youtube videos.insert POST https://www.googleapis.com/youtube/v3/videos{query} https://developers.google.com/youtube/v3/docs/videos/insert
382
+ youtube videos.list GET https://www.googleapis.com/youtube/v3/videos{query} https://developers.google.com/youtube/v3/docs/videos/list
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@apicity/mcp-server",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Optional MCP (Model Context Protocol) server that exposes every @apicity provider endpoint as a tool.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -47,21 +47,21 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@modelcontextprotocol/sdk": "^1.29.0",
50
- "@apicity/cost": "0.2.1"
50
+ "@apicity/cost": "0.2.3"
51
51
  },
52
52
  "peerDependencies": {
53
- "@apicity/alibaba": "0.2.1",
54
- "@apicity/elevenlabs": "0.2.1",
55
- "@apicity/free-media-upload": "0.2.1",
56
- "@apicity/anthropic": "0.2.1",
57
- "@apicity/fal": "0.2.1",
58
- "@apicity/fireworks": "0.2.1",
59
- "@apicity/kimicoding": "0.2.1",
60
- "@apicity/kie": "0.2.1",
61
- "@apicity/meta": "0.2.1",
62
- "@apicity/openai": "0.2.1",
63
- "@apicity/x": "0.2.1",
64
- "@apicity/xai": "0.2.1"
53
+ "@apicity/alibaba": "0.2.3",
54
+ "@apicity/elevenlabs": "0.2.3",
55
+ "@apicity/meta": "0.2.3",
56
+ "@apicity/fireworks": "0.2.3",
57
+ "@apicity/free-media-upload": "0.2.3",
58
+ "@apicity/kie": "0.2.3",
59
+ "@apicity/fal": "0.2.3",
60
+ "@apicity/openai": "0.2.3",
61
+ "@apicity/anthropic": "0.2.3",
62
+ "@apicity/kimicoding": "0.2.3",
63
+ "@apicity/xai": "0.2.3",
64
+ "@apicity/x": "0.2.3"
65
65
  },
66
66
  "peerDependenciesMeta": {
67
67
  "@apicity/alibaba": {
@@ -102,18 +102,18 @@
102
102
  }
103
103
  },
104
104
  "devDependencies": {
105
- "@apicity/anthropic": "0.2.1",
106
- "@apicity/alibaba": "0.2.1",
107
- "@apicity/fireworks": "0.2.1",
108
- "@apicity/free-media-upload": "0.2.1",
109
- "@apicity/fal": "0.2.1",
110
- "@apicity/kie": "0.2.1",
111
- "@apicity/meta": "0.2.1",
112
- "@apicity/openai": "0.2.1",
113
- "@apicity/elevenlabs": "0.2.1",
114
- "@apicity/kimicoding": "0.2.1",
115
- "@apicity/x": "0.2.1",
116
- "@apicity/xai": "0.2.1"
105
+ "@apicity/alibaba": "0.2.3",
106
+ "@apicity/anthropic": "0.2.3",
107
+ "@apicity/elevenlabs": "0.2.3",
108
+ "@apicity/free-media-upload": "0.2.3",
109
+ "@apicity/meta": "0.2.3",
110
+ "@apicity/fireworks": "0.2.3",
111
+ "@apicity/kie": "0.2.3",
112
+ "@apicity/fal": "0.2.3",
113
+ "@apicity/openai": "0.2.3",
114
+ "@apicity/x": "0.2.3",
115
+ "@apicity/kimicoding": "0.2.3",
116
+ "@apicity/xai": "0.2.3"
117
117
  },
118
118
  "homepage": "https://github.com/justintanner/apicity#readme",
119
119
  "bugs": {