@hadialmarzooq/agent-media-mcp 0.1.0 → 0.1.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.
- package/README.md +72 -0
- package/package.json +6 -4
package/README.md
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# @hadialmarzooq/agent-media-mcp
|
|
2
|
+
|
|
3
|
+
MCP server for semantic, replayable, and verified media transformations.
|
|
4
|
+
|
|
5
|
+
## What it does
|
|
6
|
+
|
|
7
|
+
A [Model Context Protocol](https://modelcontextprotocol.io) stdio server that exposes [Agent Media](https://github.com/HadiAlMarzooq/agent-media) to AI agents. Ten semantic tools covering the full inspect → plan → execute → verify contract.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install -g @hadialmarzooq/agent-media-mcp
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Prerequisites: Node.js 22+, `ffmpeg` and `ffprobe` on `PATH`.
|
|
16
|
+
|
|
17
|
+
## Tools
|
|
18
|
+
|
|
19
|
+
| Tool | Description |
|
|
20
|
+
| ------------------------ | ------------------------------------------------------- |
|
|
21
|
+
| `inspect_media` | Inspect normalized media metadata |
|
|
22
|
+
| `get_media_capabilities` | Detect local FFmpeg capabilities |
|
|
23
|
+
| `plan_media` | Create an inspectable versioned Media IR plan |
|
|
24
|
+
| `make_vertical` | Verified 9:16 vertical workflow with progress |
|
|
25
|
+
| `optimize_for_web` | Verified web optimization workflow with progress |
|
|
26
|
+
| `normalize_media` | Verified high-compatibility normalization with progress |
|
|
27
|
+
| `extract_audio` | Verified audio extraction with progress |
|
|
28
|
+
| `extract_frame` | Verified still frame extraction with progress |
|
|
29
|
+
| `execute_media_plan` | Execute a serialized or object Media IR plan |
|
|
30
|
+
| `verify_media` | Verify output against plan expectations |
|
|
31
|
+
|
|
32
|
+
## Usage
|
|
33
|
+
|
|
34
|
+
### Claude Desktop
|
|
35
|
+
|
|
36
|
+
Add to `claude_desktop_config.json`:
|
|
37
|
+
|
|
38
|
+
```json
|
|
39
|
+
{
|
|
40
|
+
"mcpServers": {
|
|
41
|
+
"agent-media": {
|
|
42
|
+
"command": "agent-media-mcp"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### Any MCP client
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
agent-media-mcp
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
The server runs over stdio. Workflows send standard MCP `notifications/progress` when the client supplies a progress token. Plan execution and verification accept either a plan object or serialized plan JSON. Tool failures set `isError: true` and carry the same structured error body as the SDK and CLI.
|
|
55
|
+
|
|
56
|
+
## Why this instead of raw FFmpeg MCP wrappers
|
|
57
|
+
|
|
58
|
+
- **5 semantic workflows** instead of 40+ FFmpeg-shaped tools
|
|
59
|
+
- **Verification** — outputs are inspected and checked against plan expectations, not just "exit code 0"
|
|
60
|
+
- **Portable plans** — serialize, persist, replay, audit
|
|
61
|
+
- **Structured errors** — stable codes with recovery suggestions, not stderr noise
|
|
62
|
+
|
|
63
|
+
## Documentation
|
|
64
|
+
|
|
65
|
+
- [Full docs](https://github.com/HadiAlMarzooq/agent-media/tree/main/docs)
|
|
66
|
+
- [Workflows](https://github.com/HadiAlMarzooq/agent-media/blob/main/docs/workflows.md)
|
|
67
|
+
- [API reference](https://github.com/HadiAlMarzooq/agent-media/blob/main/docs/api.md)
|
|
68
|
+
- [Errors and recovery](https://github.com/HadiAlMarzooq/agent-media/blob/main/docs/errors.md)
|
|
69
|
+
|
|
70
|
+
## License
|
|
71
|
+
|
|
72
|
+
MIT
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hadialmarzooq/agent-media-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "MCP server for semantic, replayable, and verified media transformations.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"media",
|
|
@@ -29,7 +29,9 @@
|
|
|
29
29
|
"main": "./dist/index.js",
|
|
30
30
|
"types": "./dist/index.d.ts",
|
|
31
31
|
"files": [
|
|
32
|
-
"dist"
|
|
32
|
+
"dist",
|
|
33
|
+
"README.md",
|
|
34
|
+
"LICENSE"
|
|
33
35
|
],
|
|
34
36
|
"publishConfig": {
|
|
35
37
|
"access": "public"
|
|
@@ -37,8 +39,8 @@
|
|
|
37
39
|
"dependencies": {
|
|
38
40
|
"@modelcontextprotocol/sdk": "1.30.0",
|
|
39
41
|
"zod": "^4.5.4",
|
|
40
|
-
"@hadialmarzooq/agent-media-
|
|
41
|
-
"@hadialmarzooq/agent-media-
|
|
42
|
+
"@hadialmarzooq/agent-media-core": "0.1.1",
|
|
43
|
+
"@hadialmarzooq/agent-media-ffmpeg": "0.1.1"
|
|
42
44
|
},
|
|
43
45
|
"scripts": {
|
|
44
46
|
"build": "tsup src/index.ts --format esm --dts",
|