@adsim/wordpress-mcp-server 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 (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +272 -0
  3. package/dist/constants.d.ts +13 -0
  4. package/dist/constants.d.ts.map +1 -0
  5. package/dist/constants.js +10 -0
  6. package/dist/constants.js.map +1 -0
  7. package/dist/index.d.ts +3 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +33 -0
  10. package/dist/index.js.map +1 -0
  11. package/dist/schemas/index.d.ts +308 -0
  12. package/dist/schemas/index.d.ts.map +1 -0
  13. package/dist/schemas/index.js +191 -0
  14. package/dist/schemas/index.js.map +1 -0
  15. package/dist/services/formatters.d.ts +22 -0
  16. package/dist/services/formatters.d.ts.map +1 -0
  17. package/dist/services/formatters.js +52 -0
  18. package/dist/services/formatters.js.map +1 -0
  19. package/dist/services/wp-client.d.ts +38 -0
  20. package/dist/services/wp-client.d.ts.map +1 -0
  21. package/dist/services/wp-client.js +102 -0
  22. package/dist/services/wp-client.js.map +1 -0
  23. package/dist/tools/content.d.ts +4 -0
  24. package/dist/tools/content.d.ts.map +1 -0
  25. package/dist/tools/content.js +196 -0
  26. package/dist/tools/content.js.map +1 -0
  27. package/dist/tools/posts.d.ts +4 -0
  28. package/dist/tools/posts.d.ts.map +1 -0
  29. package/dist/tools/posts.js +179 -0
  30. package/dist/tools/posts.js.map +1 -0
  31. package/dist/tools/seo.d.ts +4 -0
  32. package/dist/tools/seo.d.ts.map +1 -0
  33. package/dist/tools/seo.js +241 -0
  34. package/dist/tools/seo.js.map +1 -0
  35. package/dist/tools/taxonomy.d.ts +4 -0
  36. package/dist/tools/taxonomy.d.ts.map +1 -0
  37. package/dist/tools/taxonomy.js +82 -0
  38. package/dist/tools/taxonomy.js.map +1 -0
  39. package/dist/types.d.ts +160 -0
  40. package/dist/types.d.ts.map +1 -0
  41. package/dist/types.js +3 -0
  42. package/dist/types.js.map +1 -0
  43. package/package.json +60 -0
@@ -0,0 +1,160 @@
1
+ export interface WPPost {
2
+ id: number;
3
+ date: string;
4
+ date_gmt: string;
5
+ modified: string;
6
+ slug: string;
7
+ status: string;
8
+ type: string;
9
+ link: string;
10
+ title: {
11
+ rendered: string;
12
+ };
13
+ content: {
14
+ rendered: string;
15
+ protected: boolean;
16
+ };
17
+ excerpt: {
18
+ rendered: string;
19
+ protected: boolean;
20
+ };
21
+ author: number;
22
+ featured_media: number;
23
+ categories: number[];
24
+ tags: number[];
25
+ meta: Record<string, unknown>;
26
+ rank_math_title?: string;
27
+ rank_math_description?: string;
28
+ rank_math_focus_keyword?: string;
29
+ rank_math_robots?: string[];
30
+ yoast_head_json?: {
31
+ title?: string;
32
+ description?: string;
33
+ og_title?: string;
34
+ og_description?: string;
35
+ };
36
+ }
37
+ export interface WPPage {
38
+ id: number;
39
+ date: string;
40
+ slug: string;
41
+ status: string;
42
+ link: string;
43
+ title: {
44
+ rendered: string;
45
+ };
46
+ content: {
47
+ rendered: string;
48
+ };
49
+ excerpt: {
50
+ rendered: string;
51
+ };
52
+ author: number;
53
+ parent: number;
54
+ menu_order: number;
55
+ meta: Record<string, unknown>;
56
+ }
57
+ export interface WPCategory {
58
+ id: number;
59
+ count: number;
60
+ description: string;
61
+ link: string;
62
+ name: string;
63
+ slug: string;
64
+ parent: number;
65
+ }
66
+ export interface WPTag {
67
+ id: number;
68
+ count: number;
69
+ description: string;
70
+ link: string;
71
+ name: string;
72
+ slug: string;
73
+ }
74
+ export interface WPMedia {
75
+ id: number;
76
+ date: string;
77
+ slug: string;
78
+ status: string;
79
+ title: {
80
+ rendered: string;
81
+ };
82
+ description: {
83
+ rendered: string;
84
+ };
85
+ caption: {
86
+ rendered: string;
87
+ };
88
+ alt_text: string;
89
+ media_type: string;
90
+ mime_type: string;
91
+ source_url: string;
92
+ media_details: {
93
+ width: number;
94
+ height: number;
95
+ file: string;
96
+ sizes: Record<string, {
97
+ file: string;
98
+ width: number;
99
+ height: number;
100
+ source_url: string;
101
+ }>;
102
+ };
103
+ }
104
+ export interface WPUser {
105
+ id: number;
106
+ name: string;
107
+ slug: string;
108
+ description: string;
109
+ link: string;
110
+ avatar_urls: Record<string, string>;
111
+ }
112
+ export interface WPComment {
113
+ id: number;
114
+ post: number;
115
+ parent: number;
116
+ author_name: string;
117
+ date: string;
118
+ content: {
119
+ rendered: string;
120
+ };
121
+ status: string;
122
+ }
123
+ export interface WPSearchResult {
124
+ id: number;
125
+ title: string;
126
+ url: string;
127
+ type: string;
128
+ subtype: string;
129
+ }
130
+ export interface WPSiteInfo {
131
+ name: string;
132
+ description: string;
133
+ url: string;
134
+ home: string;
135
+ gmt_offset: number;
136
+ timezone_string: string;
137
+ }
138
+ export interface WPApiConfig {
139
+ baseUrl: string;
140
+ username: string;
141
+ password: string;
142
+ }
143
+ export interface SEOMetadata {
144
+ title: string | null;
145
+ description: string | null;
146
+ focus_keyword: string | null;
147
+ robots: string[] | null;
148
+ plugin: 'rankmath' | 'yoast' | 'seopress' | 'unknown';
149
+ }
150
+ export interface SEOAuditResult {
151
+ post_id: number;
152
+ post_title: string;
153
+ post_url: string;
154
+ post_status: string;
155
+ seo: SEOMetadata;
156
+ score: number;
157
+ issues: string[];
158
+ recommendations: string[];
159
+ }
160
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js ADDED
@@ -0,0 +1,3 @@
1
+ // WordPress REST API Types
2
+ export {};
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,2BAA2B"}
package/package.json ADDED
@@ -0,0 +1,60 @@
1
+ {
2
+ "name": "@adsim/wordpress-mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "MCP Server for WordPress REST API — Manage posts, pages, categories, tags, SEO metadata, and more via Claude Desktop or any MCP-compatible client.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "wordpress-mcp-server": "dist/index.js"
9
+ },
10
+ "scripts": {
11
+ "build": "tsc",
12
+ "dev": "tsc --watch",
13
+ "start": "node dist/index.js",
14
+ "prepublishOnly": "npm run build",
15
+ "clean": "rm -rf dist"
16
+ },
17
+ "keywords": [
18
+ "mcp",
19
+ "wordpress",
20
+ "rest-api",
21
+ "claude",
22
+ "anthropic",
23
+ "model-context-protocol",
24
+ "seo",
25
+ "rankmath",
26
+ "yoast",
27
+ "content-management",
28
+ "wp-api"
29
+ ],
30
+ "author": {
31
+ "name": "Georges Cordewiener",
32
+ "email": "georges@adsim.be",
33
+ "url": "https://adsim.be"
34
+ },
35
+ "license": "MIT",
36
+ "repository": {
37
+ "type": "git",
38
+ "url": "https://github.com/GeorgesAdSim/wordpress-mcp-server.git"
39
+ },
40
+ "bugs": {
41
+ "url": "https://github.com/GeorgesAdSim/wordpress-mcp-server/issues"
42
+ },
43
+ "homepage": "https://github.com/GeorgesAdSim/wordpress-mcp-server#readme",
44
+ "engines": {
45
+ "node": ">=18.0.0"
46
+ },
47
+ "files": [
48
+ "dist/**/*",
49
+ "README.md",
50
+ "LICENSE"
51
+ ],
52
+ "dependencies": {
53
+ "@modelcontextprotocol/sdk": "^1.12.0",
54
+ "zod": "^3.23.0"
55
+ },
56
+ "devDependencies": {
57
+ "@types/node": "^20.0.0",
58
+ "typescript": "^5.5.0"
59
+ }
60
+ }