@fullstackcraftllc/codevideo-mcp 1.0.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.
Files changed (31) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +85 -0
  3. package/bin/darwin-arm64/codevideo-cli +0 -0
  4. package/bin/darwin-x64/codevideo-cli +0 -0
  5. package/bin/linux-x64/codevideo-cli +0 -0
  6. package/bin/win32-x64/codevideo-cli.exe +0 -0
  7. package/dist/index.js +1372 -0
  8. package/dist/src/index.d.ts +1 -0
  9. package/dist/src/prompts/instructions_to_create_a_course.d.ts +1 -0
  10. package/dist/src/prompts/instructions_to_create_lesson_actions.d.ts +1 -0
  11. package/dist/src/prompts/instructions_to_create_lesson_video.d.ts +1 -0
  12. package/dist/src/resources/get_action_names.d.ts +4 -0
  13. package/dist/src/resources/get_example_lesson.d.ts +1 -0
  14. package/dist/src/tools/add_actions_to_lesson.d.ts +2 -0
  15. package/dist/src/tools/add_final_snapshot_to_lesson.d.ts +2 -0
  16. package/dist/src/tools/add_initial_snapshot_to_lesson.d.ts +2 -0
  17. package/dist/src/tools/add_lesson_to_course.d.ts +2 -0
  18. package/dist/src/tools/create_course_with_initial_metadata.d.ts +1 -0
  19. package/dist/src/tools/critique_video_using_gemini.d.ts +2 -0
  20. package/dist/src/tools/get_current_actions.d.ts +3 -0
  21. package/dist/src/tools/get_empty_lesson_snapshot.d.ts +1 -0
  22. package/dist/src/tools/get_final_lesson_snapshot.d.ts +2 -0
  23. package/dist/src/tools/get_initial_lesson_state_from_local_repo.d.ts +1 -0
  24. package/dist/src/tools/is_repeatable_action.d.ts +2 -0
  25. package/dist/src/tools/make_blog_post.d.ts +2 -0
  26. package/dist/src/tools/make_html_web_page.d.ts +2 -0
  27. package/dist/src/tools/make_video.d.ts +8 -0
  28. package/dist/src/tools/set_current_actions.d.ts +2 -0
  29. package/dist/src/tools/validate_actions.d.ts +6 -0
  30. package/dist/src/utils/getBinaryPath.d.ts +1 -0
  31. package/package.json +65 -0
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1 @@
1
+ export declare const instructionsToCreateACourse: (additionalContext: string) => string;
@@ -0,0 +1 @@
1
+ export declare const instructionsToCreateLessonActions: (additionalContext: string) => string;
@@ -0,0 +1 @@
1
+ export declare const instructionsToCreateLessonVideo: (additionalContext: string) => string;
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Returns all action names exported by the codevideo-types package, joined by commas.
3
+ */
4
+ export declare const getActionNames: () => string;
@@ -0,0 +1 @@
1
+ export declare const getExampleLesson: (keyword: string | string[]) => string;
@@ -0,0 +1,2 @@
1
+ import { ILesson, IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const addActionsToLesson: (lesson: ILesson, actions: IAction[]) => string;
@@ -0,0 +1,2 @@
1
+ import { ICourseSnapshot, ILesson } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const addFinalSnapshotToLesson: (lesson: ILesson, finalSnapshot: ICourseSnapshot) => string;
@@ -0,0 +1,2 @@
1
+ import { ICourseSnapshot, ILesson } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const addInitialSnapshotToLesson: (lesson: ILesson, initialSnapshot: ICourseSnapshot) => string;
@@ -0,0 +1,2 @@
1
+ import { ICourse } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const addLessonToCourse: (course: ICourse, id: string, name: string, description: string) => string;
@@ -0,0 +1 @@
1
+ export declare const createCourseWithInitialMetadata: (id: string, name: string, description: string, primaryLanguage: string) => string;
@@ -0,0 +1,2 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const critiqueVideoUsingGemini: (videoPath: string, actions?: Array<IAction>) => Promise<string>;
@@ -0,0 +1,3 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const getCurrentActions: () => IAction[] | null;
3
+ export declare const getCurrentActionsOrThrow: () => IAction[];
@@ -0,0 +1 @@
1
+ export declare const getEmptyLessonSnapshot: () => string;
@@ -0,0 +1,2 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const getFinalLessonSnapshot: (actions?: Array<IAction>) => string;
@@ -0,0 +1 @@
1
+ export declare const getInitialLessonStateFromLocalCodebase: (repoLocation: string) => Promise<string>;
@@ -0,0 +1,2 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const isRepeatable: (action: IAction) => string;
@@ -0,0 +1,2 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const makeBlogPost: (actions?: Array<IAction>) => string;
@@ -0,0 +1,2 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const makeHTMLWebPage: (actions?: Array<IAction>) => Promise<string>;
@@ -0,0 +1,8 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export interface VideoResult {
3
+ outputPath: string;
4
+ stdout: string;
5
+ stderr: string;
6
+ error?: any;
7
+ }
8
+ export declare const makeVideo: (actions?: IAction[]) => Promise<VideoResult>;
@@ -0,0 +1,2 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ export declare const setCurrentActions: (actions: IAction[]) => string;
@@ -0,0 +1,6 @@
1
+ import { IAction } from "@fullstackcraftllc/codevideo-types";
2
+ /**
3
+ * Validates the actions so the LLM can correct any mistakes it makes
4
+ *
5
+ */
6
+ export declare const validateActions: (actions?: Array<IAction>) => string;
@@ -0,0 +1 @@
1
+ export declare function getBinaryPath(): string;
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@fullstackcraftllc/codevideo-mcp",
3
+ "version": "1.0.0",
4
+ "description": "The MCP server for CodeVideo. Create software educational content using natural language.",
5
+ "type": "module",
6
+ "main": "dist/index.cjs.js",
7
+ "module": "dist/index.esm.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist/",
11
+ "bin/",
12
+ "README.md"
13
+ ],
14
+ "bin": {
15
+ "codevideo-mcp": "dist/index.cjs.js"
16
+ },
17
+ "scripts": {
18
+ "clean": "rimraf dist",
19
+ "build": "npm run clean && rollup -c",
20
+ "build-typescript": "tsc",
21
+ "test": "jest",
22
+ "type-check": "tsc --noEmit",
23
+ "download-binaries": "tsx scripts/download-binaries.ts"
24
+ },
25
+ "repository": {
26
+ "type": "git",
27
+ "url": "git+https://github.com/codevideo/codevideo-mcp.git"
28
+ },
29
+ "keywords": [
30
+ "CodeVideo",
31
+ "mcp",
32
+ "video",
33
+ "productivity"
34
+ ],
35
+ "author": "Chris Frewin",
36
+ "license": "MIT",
37
+ "bugs": {
38
+ "url": "https://github.com/codevideo/codevideo-mcp/issues"
39
+ },
40
+ "homepage": "https://github.com/codevideo/codevideo-mcp#readme",
41
+ "dependencies": {
42
+ "@fullstackcraftllc/codevideo-adapters": "^1.0.0",
43
+ "@fullstackcraftllc/codevideo-exporters": "^0.0.9",
44
+ "@fullstackcraftllc/codevideo-types": "^2.1.20",
45
+ "@google/genai": "^0.14.1",
46
+ "@modelcontextprotocol/sdk": "^1.10.0",
47
+ "@types/better-sqlite3": "^7.6.13",
48
+ "better-sqlite3": "^11.10.0",
49
+ "dotenv": "^16.5.0"
50
+ },
51
+ "devDependencies": {
52
+ "@rollup/plugin-commonjs": "^28.0.3",
53
+ "@rollup/plugin-json": "^6.1.0",
54
+ "@rollup/plugin-node-resolve": "^16.0.1",
55
+ "@rollup/plugin-typescript": "^12.1.2",
56
+ "@types/node": "^22.14.1",
57
+ "rimraf": "^6.0.1",
58
+ "rollup": "^4.40.0",
59
+ "rollup-plugin-dts": "^6.2.1",
60
+ "rollup-plugin-typescript2": "^0.36.0",
61
+ "tslib": "^2.8.1",
62
+ "tsx": "^4.19.4",
63
+ "typescript": "^5.8.3"
64
+ }
65
+ }