@frase/mcp-server 0.1.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.
- package/CHANGELOG.md +44 -0
- package/README.md +262 -0
- package/dist/api-client.d.ts +93 -0
- package/dist/api-client.d.ts.map +1 -0
- package/dist/api-client.js +213 -0
- package/dist/api-client.js.map +1 -0
- package/dist/cache.d.ts +52 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +97 -0
- package/dist/cache.js.map +1 -0
- package/dist/config.d.ts +17 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +31 -0
- package/dist/config.js.map +1 -0
- package/dist/formatter.d.ts +47 -0
- package/dist/formatter.d.ts.map +1 -0
- package/dist/formatter.js +136 -0
- package/dist/formatter.js.map +1 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +292 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/competitor-analysis.d.ts +18 -0
- package/dist/prompts/competitor-analysis.d.ts.map +1 -0
- package/dist/prompts/competitor-analysis.js +71 -0
- package/dist/prompts/competitor-analysis.js.map +1 -0
- package/dist/prompts/content-audit.d.ts +18 -0
- package/dist/prompts/content-audit.d.ts.map +1 -0
- package/dist/prompts/content-audit.js +67 -0
- package/dist/prompts/content-audit.js.map +1 -0
- package/dist/prompts/create-seo-article.d.ts +19 -0
- package/dist/prompts/create-seo-article.d.ts.map +1 -0
- package/dist/prompts/create-seo-article.js +78 -0
- package/dist/prompts/create-seo-article.js.map +1 -0
- package/dist/prompts/index.d.ts +18 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +52 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/keyword-research.d.ts +18 -0
- package/dist/prompts/keyword-research.d.ts.map +1 -0
- package/dist/prompts/keyword-research.js +72 -0
- package/dist/prompts/keyword-research.js.map +1 -0
- package/dist/prompts/optimize-content.d.ts +18 -0
- package/dist/prompts/optimize-content.d.ts.map +1 -0
- package/dist/prompts/optimize-content.js +59 -0
- package/dist/prompts/optimize-content.js.map +1 -0
- package/dist/resources/briefs.d.ts +26 -0
- package/dist/resources/briefs.d.ts.map +1 -0
- package/dist/resources/briefs.js +144 -0
- package/dist/resources/briefs.js.map +1 -0
- package/dist/resources/content.d.ts +26 -0
- package/dist/resources/content.d.ts.map +1 -0
- package/dist/resources/content.js +128 -0
- package/dist/resources/content.js.map +1 -0
- package/dist/resources/index.d.ts +32 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +85 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/sites.d.ts +26 -0
- package/dist/resources/sites.d.ts.map +1 -0
- package/dist/resources/sites.js +108 -0
- package/dist/resources/sites.js.map +1 -0
- package/dist/tools/ai-visibility.d.ts +25 -0
- package/dist/tools/ai-visibility.d.ts.map +1 -0
- package/dist/tools/ai-visibility.js +537 -0
- package/dist/tools/ai-visibility.js.map +1 -0
- package/dist/tools/analytics.d.ts +17 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +311 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/audits.d.ts +73 -0
- package/dist/tools/audits.d.ts.map +1 -0
- package/dist/tools/audits.js +345 -0
- package/dist/tools/audits.js.map +1 -0
- package/dist/tools/briefs.d.ts +63 -0
- package/dist/tools/briefs.d.ts.map +1 -0
- package/dist/tools/briefs.js +276 -0
- package/dist/tools/briefs.js.map +1 -0
- package/dist/tools/content.d.ts +51 -0
- package/dist/tools/content.d.ts.map +1 -0
- package/dist/tools/content.js +233 -0
- package/dist/tools/content.js.map +1 -0
- package/dist/tools/index.d.ts +29 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +96 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/jobs.d.ts +22 -0
- package/dist/tools/jobs.d.ts.map +1 -0
- package/dist/tools/jobs.js +124 -0
- package/dist/tools/jobs.js.map +1 -0
- package/dist/tools/optimizations.d.ts +19 -0
- package/dist/tools/optimizations.d.ts.map +1 -0
- package/dist/tools/optimizations.js +339 -0
- package/dist/tools/optimizations.js.map +1 -0
- package/dist/tools/research.d.ts +41 -0
- package/dist/tools/research.d.ts.map +1 -0
- package/dist/tools/research.js +151 -0
- package/dist/tools/research.js.map +1 -0
- package/dist/tools/serp.d.ts +15 -0
- package/dist/tools/serp.d.ts.map +1 -0
- package/dist/tools/serp.js +267 -0
- package/dist/tools/serp.js.map +1 -0
- package/dist/tools/sites.d.ts +31 -0
- package/dist/tools/sites.d.ts.map +1 -0
- package/dist/tools/sites.js +83 -0
- package/dist/tools/sites.js.map +1 -0
- package/dist/tools/webhooks.d.ts +19 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +350 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/types.d.ts +167 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +5 -0
- package/dist/types.js.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Competitor Analysis Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through competitor content analysis:
|
|
5
|
+
* 1. Analyze SERP for the topic
|
|
6
|
+
* 2. Deep-dive into competitor content
|
|
7
|
+
* 3. Identify strengths and weaknesses
|
|
8
|
+
*/
|
|
9
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
10
|
+
export declare const competitorAnalysisPrompt: McpPromptDefinition;
|
|
11
|
+
export declare function getCompetitorAnalysisMessages(args: Record<string, string>): Array<{
|
|
12
|
+
role: "user" | "assistant";
|
|
13
|
+
content: {
|
|
14
|
+
type: "text";
|
|
15
|
+
text: string;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=competitor-analysis.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"competitor-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/competitor-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,wBAAwB,EAAE,mBAqBtC,CAAC;AAEF,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IACjF,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA2CD"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Competitor Analysis Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through competitor content analysis:
|
|
5
|
+
* 1. Analyze SERP for the topic
|
|
6
|
+
* 2. Deep-dive into competitor content
|
|
7
|
+
* 3. Identify strengths and weaknesses
|
|
8
|
+
*/
|
|
9
|
+
export const competitorAnalysisPrompt = {
|
|
10
|
+
name: "competitor_analysis",
|
|
11
|
+
description: "Analyze competitor content for a topic. Identifies what competitors are doing well and opportunities to outrank them.",
|
|
12
|
+
arguments: [
|
|
13
|
+
{
|
|
14
|
+
name: "topic",
|
|
15
|
+
description: "The topic or keyword to analyze competitors for (required)",
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "urls",
|
|
20
|
+
description: "Specific competitor URLs to analyze (comma-separated, optional)",
|
|
21
|
+
required: false,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "country",
|
|
25
|
+
description: "Two-letter country code (default: us)",
|
|
26
|
+
required: false,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
export function getCompetitorAnalysisMessages(args) {
|
|
31
|
+
const topic = args.topic || "[topic]";
|
|
32
|
+
const urls = args.urls ? args.urls.split(",").map((u) => u.trim()) : [];
|
|
33
|
+
const country = args.country || "us";
|
|
34
|
+
const urlText = urls.length > 0
|
|
35
|
+
? `\n- Specific URLs to analyze: ${urls.join(", ")}`
|
|
36
|
+
: "";
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
role: "user",
|
|
40
|
+
content: {
|
|
41
|
+
type: "text",
|
|
42
|
+
text: `Please analyze competitor content for: "${topic}"
|
|
43
|
+
|
|
44
|
+
Settings:
|
|
45
|
+
- Country: ${country}${urlText}
|
|
46
|
+
|
|
47
|
+
Please follow these steps:
|
|
48
|
+
|
|
49
|
+
1. **Get the SERP landscape** using analyze_serp to see who ranks for this topic
|
|
50
|
+
|
|
51
|
+
2. **Analyze competitors** using analyze_competitors to understand:
|
|
52
|
+
- Content structure and length
|
|
53
|
+
- Key topics covered
|
|
54
|
+
- Strengths and weaknesses
|
|
55
|
+
|
|
56
|
+
3. **Research the topic** using start_research for additional insights
|
|
57
|
+
|
|
58
|
+
4. **Present a comprehensive analysis** including:
|
|
59
|
+
- Top competitors and their rankings
|
|
60
|
+
- Common content patterns
|
|
61
|
+
- Content gaps (topics competitors miss)
|
|
62
|
+
- Unique angles to differentiate
|
|
63
|
+
|
|
64
|
+
5. **Provide actionable recommendations** for outranking competitors
|
|
65
|
+
|
|
66
|
+
Please start with the SERP analysis.`,
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
];
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=competitor-analysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"competitor-analysis.js","sourceRoot":"","sources":["../../src/prompts/competitor-analysis.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,wBAAwB,GAAwB;IAC3D,IAAI,EAAE,qBAAqB;IAC3B,WAAW,EACT,uHAAuH;IACzH,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,4DAA4D;YACzE,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,iEAAiE;YAC9E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,6BAA6B,CAAC,IAA4B;IAIxE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAErC,MAAM,OAAO,GACX,IAAI,CAAC,MAAM,GAAG,CAAC;QACb,CAAC,CAAC,iCAAiC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACpD,CAAC,CAAC,EAAE,CAAC;IAET,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2CAA2C,KAAK;;;aAGjD,OAAO,GAAG,OAAO;;;;;;;;;;;;;;;;;;;;;qCAqBO;aAC9B;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Audit Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through a site content audit:
|
|
5
|
+
* 1. Start a site audit
|
|
6
|
+
* 2. Analyze the results
|
|
7
|
+
* 3. Prioritize improvements
|
|
8
|
+
*/
|
|
9
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
10
|
+
export declare const contentAuditPrompt: McpPromptDefinition;
|
|
11
|
+
export declare function getContentAuditMessages(args: Record<string, string>): Array<{
|
|
12
|
+
role: "user" | "assistant";
|
|
13
|
+
content: {
|
|
14
|
+
type: "text";
|
|
15
|
+
text: string;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=content-audit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-audit.d.ts","sourceRoot":"","sources":["../../src/prompts/content-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,kBAAkB,EAAE,mBAgBhC,CAAC;AAEF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC3E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA0CD"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content Audit Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through a site content audit:
|
|
5
|
+
* 1. Start a site audit
|
|
6
|
+
* 2. Analyze the results
|
|
7
|
+
* 3. Prioritize improvements
|
|
8
|
+
*/
|
|
9
|
+
export const contentAuditPrompt = {
|
|
10
|
+
name: "content_audit",
|
|
11
|
+
description: "Run a comprehensive content audit on a site. Analyzes pages for SEO issues, content quality, and prioritizes improvements.",
|
|
12
|
+
arguments: [
|
|
13
|
+
{
|
|
14
|
+
name: "site_id",
|
|
15
|
+
description: "The site ID to audit (required)",
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "max_pages",
|
|
20
|
+
description: "Maximum pages to crawl (default: 100)",
|
|
21
|
+
required: false,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
export function getContentAuditMessages(args) {
|
|
26
|
+
const siteId = args.site_id || "[site_id]";
|
|
27
|
+
const maxPages = args.max_pages || "100";
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
role: "user",
|
|
31
|
+
content: {
|
|
32
|
+
type: "text",
|
|
33
|
+
text: `Please run a content audit for site ID: ${siteId}
|
|
34
|
+
|
|
35
|
+
Settings:
|
|
36
|
+
- Maximum pages to crawl: ${maxPages}
|
|
37
|
+
|
|
38
|
+
Please follow these steps:
|
|
39
|
+
|
|
40
|
+
1. **Start the audit** using start_audit with the site ID
|
|
41
|
+
|
|
42
|
+
2. **Monitor progress** using get_job_status until the audit completes
|
|
43
|
+
|
|
44
|
+
3. **Get the audit results** using get_audit to see:
|
|
45
|
+
- Pages crawled
|
|
46
|
+
- Issues found
|
|
47
|
+
- Page-level details
|
|
48
|
+
|
|
49
|
+
4. **Get GSC data** using get_gsc_overview and get_gsc_pages to understand current performance
|
|
50
|
+
|
|
51
|
+
5. **Identify content gaps** using get_content_gaps to find opportunities
|
|
52
|
+
|
|
53
|
+
6. **Present a summary** including:
|
|
54
|
+
- Overall site health score
|
|
55
|
+
- Critical issues to fix immediately
|
|
56
|
+
- Quick wins (easy improvements)
|
|
57
|
+
- Long-term recommendations
|
|
58
|
+
- Pages to prioritize for optimization
|
|
59
|
+
|
|
60
|
+
7. **Suggest an action plan** with prioritized next steps
|
|
61
|
+
|
|
62
|
+
Please start by initiating the audit.`,
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
];
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=content-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"content-audit.js","sourceRoot":"","sources":["../../src/prompts/content-audit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,kBAAkB,GAAwB;IACrD,IAAI,EAAE,eAAe;IACrB,WAAW,EACT,4HAA4H;IAC9H,SAAS,EAAE;QACT;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,iCAAiC;YAC9C,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,WAAW;YACjB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,uBAAuB,CAAC,IAA4B;IAIlE,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,WAAW,CAAC;IAC3C,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC;IAEzC,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,2CAA2C,MAAM;;;4BAGnC,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;sCA0BE;aAC/B;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create SEO Article Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through creating a complete SEO article:
|
|
5
|
+
* 1. Research the topic
|
|
6
|
+
* 2. Create a content brief
|
|
7
|
+
* 3. Generate an outline
|
|
8
|
+
* 4. Create the content
|
|
9
|
+
*/
|
|
10
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
11
|
+
export declare const createSeoArticlePrompt: McpPromptDefinition;
|
|
12
|
+
export declare function getCreateSeoArticleMessages(args: Record<string, string>): Array<{
|
|
13
|
+
role: "user" | "assistant";
|
|
14
|
+
content: {
|
|
15
|
+
type: "text";
|
|
16
|
+
text: string;
|
|
17
|
+
};
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=create-seo-article.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-seo-article.d.ts","sourceRoot":"","sources":["../../src/prompts/create-seo-article.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,sBAAsB,EAAE,mBA2BpC,CAAC;AAEF,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC/E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA6CD"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create SEO Article Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through creating a complete SEO article:
|
|
5
|
+
* 1. Research the topic
|
|
6
|
+
* 2. Create a content brief
|
|
7
|
+
* 3. Generate an outline
|
|
8
|
+
* 4. Create the content
|
|
9
|
+
*/
|
|
10
|
+
export const createSeoArticlePrompt = {
|
|
11
|
+
name: "create_seo_article",
|
|
12
|
+
description: "Create a complete SEO article from scratch. This workflow researches the topic, creates a brief with outline, and generates optimized content.",
|
|
13
|
+
arguments: [
|
|
14
|
+
{
|
|
15
|
+
name: "topic",
|
|
16
|
+
description: "The topic or title for the article (required)",
|
|
17
|
+
required: true,
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
name: "keywords",
|
|
21
|
+
description: "Target keywords to optimize for (comma-separated)",
|
|
22
|
+
required: false,
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
name: "content_type",
|
|
26
|
+
description: "Type of content: blog, guide, listicle, comparison, landing (default: blog)",
|
|
27
|
+
required: false,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
name: "site_id",
|
|
31
|
+
description: "Site ID to associate the content with (optional)",
|
|
32
|
+
required: false,
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
};
|
|
36
|
+
export function getCreateSeoArticleMessages(args) {
|
|
37
|
+
const topic = args.topic || "the requested topic";
|
|
38
|
+
const keywords = args.keywords ? args.keywords.split(",").map((k) => k.trim()) : [];
|
|
39
|
+
const contentType = args.content_type || "blog";
|
|
40
|
+
const siteId = args.site_id || null;
|
|
41
|
+
const keywordText = keywords.length > 0
|
|
42
|
+
? `\n- Target keywords: ${keywords.join(", ")}`
|
|
43
|
+
: "";
|
|
44
|
+
const siteText = siteId ? `\n- Site ID: ${siteId}` : "";
|
|
45
|
+
return [
|
|
46
|
+
{
|
|
47
|
+
role: "user",
|
|
48
|
+
content: {
|
|
49
|
+
type: "text",
|
|
50
|
+
text: `Please help me create a complete SEO article about "${topic}".
|
|
51
|
+
|
|
52
|
+
Article specifications:
|
|
53
|
+
- Content type: ${contentType}${keywordText}${siteText}
|
|
54
|
+
|
|
55
|
+
Please follow these steps:
|
|
56
|
+
|
|
57
|
+
1. **Research the topic** using start_research to gather insights and understand the search landscape
|
|
58
|
+
|
|
59
|
+
2. **Create a content brief** using create_brief with:
|
|
60
|
+
- The topic as the title
|
|
61
|
+
- generate_outline set to true
|
|
62
|
+
- Any target keywords I provided
|
|
63
|
+
|
|
64
|
+
3. **Wait for the brief** to be ready using get_job_status, then get the full brief with get_brief
|
|
65
|
+
|
|
66
|
+
4. **Review the outline** and let me know what was generated, including:
|
|
67
|
+
- The suggested outline structure
|
|
68
|
+
- Key topics to cover
|
|
69
|
+
- Competitor analysis insights
|
|
70
|
+
|
|
71
|
+
5. **Ask for my approval** before generating the final content
|
|
72
|
+
|
|
73
|
+
Please start with the research step and guide me through this process.`,
|
|
74
|
+
},
|
|
75
|
+
},
|
|
76
|
+
];
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=create-seo-article.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-seo-article.js","sourceRoot":"","sources":["../../src/prompts/create-seo-article.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,MAAM,CAAC,MAAM,sBAAsB,GAAwB;IACzD,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,gJAAgJ;IAClJ,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,+CAA+C;YAC5D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,mDAAmD;YAChE,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,cAAc;YACpB,WAAW,EACT,6EAA6E;YAC/E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,2BAA2B,CAAC,IAA4B;IAItE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,qBAAqB,CAAC;IAClD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;IAChD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IAEpC,MAAM,WAAW,GACf,QAAQ,CAAC,MAAM,GAAG,CAAC;QACjB,CAAC,CAAC,wBAAwB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC/C,CAAC,CAAC,EAAE,CAAC;IAET,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,gBAAgB,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAExD,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,uDAAuD,KAAK;;;kBAGxD,WAAW,GAAG,WAAW,GAAG,QAAQ;;;;;;;;;;;;;;;;;;;;uEAoBiB;aAChE;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt registry
|
|
3
|
+
*
|
|
4
|
+
* All MCP prompts are registered here. Each prompt provides a pre-built
|
|
5
|
+
* workflow for common SEO tasks.
|
|
6
|
+
*/
|
|
7
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
8
|
+
export declare const ALL_PROMPTS: McpPromptDefinition[];
|
|
9
|
+
export declare function getPromptByName(name: string): McpPromptDefinition | undefined;
|
|
10
|
+
export declare function getPromptMessages(name: string, args: Record<string, string>): Array<{
|
|
11
|
+
role: "user" | "assistant";
|
|
12
|
+
content: {
|
|
13
|
+
type: "text";
|
|
14
|
+
text: string;
|
|
15
|
+
};
|
|
16
|
+
}>;
|
|
17
|
+
export declare function getPromptCount(): number;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAgCvD,eAAO,MAAM,WAAW,EAAE,mBAAmB,EAM5C,CAAC;AAuBF,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE7E;AAMD,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,KAAK,CAAC;IACP,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CAOD;AAMD,wBAAgB,cAAc,IAAI,MAAM,CAEvC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Prompt registry
|
|
3
|
+
*
|
|
4
|
+
* All MCP prompts are registered here. Each prompt provides a pre-built
|
|
5
|
+
* workflow for common SEO tasks.
|
|
6
|
+
*/
|
|
7
|
+
// Import prompt modules
|
|
8
|
+
import { createSeoArticlePrompt, getCreateSeoArticleMessages, } from "./create-seo-article.js";
|
|
9
|
+
import { optimizeContentPrompt, getOptimizeContentMessages, } from "./optimize-content.js";
|
|
10
|
+
import { keywordResearchPrompt, getKeywordResearchMessages, } from "./keyword-research.js";
|
|
11
|
+
import { competitorAnalysisPrompt, getCompetitorAnalysisMessages, } from "./competitor-analysis.js";
|
|
12
|
+
import { contentAuditPrompt, getContentAuditMessages, } from "./content-audit.js";
|
|
13
|
+
// ============================================
|
|
14
|
+
// All Prompts
|
|
15
|
+
// ============================================
|
|
16
|
+
export const ALL_PROMPTS = [
|
|
17
|
+
createSeoArticlePrompt,
|
|
18
|
+
optimizeContentPrompt,
|
|
19
|
+
keywordResearchPrompt,
|
|
20
|
+
competitorAnalysisPrompt,
|
|
21
|
+
contentAuditPrompt,
|
|
22
|
+
];
|
|
23
|
+
const PROMPT_MESSAGE_GENERATORS = {
|
|
24
|
+
create_seo_article: getCreateSeoArticleMessages,
|
|
25
|
+
optimize_content: getOptimizeContentMessages,
|
|
26
|
+
keyword_research: getKeywordResearchMessages,
|
|
27
|
+
competitor_analysis: getCompetitorAnalysisMessages,
|
|
28
|
+
content_audit: getContentAuditMessages,
|
|
29
|
+
};
|
|
30
|
+
// ============================================
|
|
31
|
+
// Get Prompt by Name
|
|
32
|
+
// ============================================
|
|
33
|
+
export function getPromptByName(name) {
|
|
34
|
+
return ALL_PROMPTS.find((p) => p.name === name);
|
|
35
|
+
}
|
|
36
|
+
// ============================================
|
|
37
|
+
// Get Prompt Messages
|
|
38
|
+
// ============================================
|
|
39
|
+
export function getPromptMessages(name, args) {
|
|
40
|
+
const generator = PROMPT_MESSAGE_GENERATORS[name];
|
|
41
|
+
if (!generator) {
|
|
42
|
+
throw new Error(`Unknown prompt: ${name}`);
|
|
43
|
+
}
|
|
44
|
+
return generator(args);
|
|
45
|
+
}
|
|
46
|
+
// ============================================
|
|
47
|
+
// Get Prompt Count
|
|
48
|
+
// ============================================
|
|
49
|
+
export function getPromptCount() {
|
|
50
|
+
return ALL_PROMPTS.length;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/prompts/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,wBAAwB;AACxB,OAAO,EACL,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EACL,wBAAwB,EACxB,6BAA6B,GAC9B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EACL,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,oBAAoB,CAAC;AAE5B,+CAA+C;AAC/C,cAAc;AACd,+CAA+C;AAE/C,MAAM,CAAC,MAAM,WAAW,GAA0B;IAChD,sBAAsB;IACtB,qBAAqB;IACrB,qBAAqB;IACrB,wBAAwB;IACxB,kBAAkB;CACnB,CAAC;AAWF,MAAM,yBAAyB,GAA2C;IACxE,kBAAkB,EAAE,2BAA2B;IAC/C,gBAAgB,EAAE,0BAA0B;IAC5C,gBAAgB,EAAE,0BAA0B;IAC5C,mBAAmB,EAAE,6BAA6B;IAClD,aAAa,EAAE,uBAAuB;CACvC,CAAC;AAEF,+CAA+C;AAC/C,qBAAqB;AACrB,+CAA+C;AAE/C,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,+CAA+C;AAC/C,sBAAsB;AACtB,+CAA+C;AAE/C,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,IAA4B;IAK5B,MAAM,SAAS,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED,+CAA+C;AAC/C,mBAAmB;AACnB,+CAA+C;AAE/C,MAAM,UAAU,cAAc;IAC5B,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyword Research Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through keyword research:
|
|
5
|
+
* 1. Analyze the topic
|
|
6
|
+
* 2. Get SERP data
|
|
7
|
+
* 3. Identify opportunities
|
|
8
|
+
*/
|
|
9
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
10
|
+
export declare const keywordResearchPrompt: McpPromptDefinition;
|
|
11
|
+
export declare function getKeywordResearchMessages(args: Record<string, string>): Array<{
|
|
12
|
+
role: "user" | "assistant";
|
|
13
|
+
content: {
|
|
14
|
+
type: "text";
|
|
15
|
+
text: string;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=keyword-research.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword-research.d.ts","sourceRoot":"","sources":["../../src/prompts/keyword-research.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,mBAqBnC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC9E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CA0CD"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Keyword Research Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through keyword research:
|
|
5
|
+
* 1. Analyze the topic
|
|
6
|
+
* 2. Get SERP data
|
|
7
|
+
* 3. Identify opportunities
|
|
8
|
+
*/
|
|
9
|
+
export const keywordResearchPrompt = {
|
|
10
|
+
name: "keyword_research",
|
|
11
|
+
description: "Research keywords for a topic. Analyzes search intent, competition, and identifies content opportunities.",
|
|
12
|
+
arguments: [
|
|
13
|
+
{
|
|
14
|
+
name: "topic",
|
|
15
|
+
description: "The topic or seed keyword to research (required)",
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "country",
|
|
20
|
+
description: "Two-letter country code for localized results (default: us)",
|
|
21
|
+
required: false,
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
name: "language",
|
|
25
|
+
description: "Two-letter language code (default: en)",
|
|
26
|
+
required: false,
|
|
27
|
+
},
|
|
28
|
+
],
|
|
29
|
+
};
|
|
30
|
+
export function getKeywordResearchMessages(args) {
|
|
31
|
+
const topic = args.topic || "[topic]";
|
|
32
|
+
const country = args.country || "us";
|
|
33
|
+
const language = args.language || "en";
|
|
34
|
+
return [
|
|
35
|
+
{
|
|
36
|
+
role: "user",
|
|
37
|
+
content: {
|
|
38
|
+
type: "text",
|
|
39
|
+
text: `Please help me research keywords for: "${topic}"
|
|
40
|
+
|
|
41
|
+
Settings:
|
|
42
|
+
- Country: ${country}
|
|
43
|
+
- Language: ${language}
|
|
44
|
+
|
|
45
|
+
Please follow these steps:
|
|
46
|
+
|
|
47
|
+
1. **Analyze the SERP** using analyze_serp to understand:
|
|
48
|
+
- Current top-ranking content
|
|
49
|
+
- Featured snippets
|
|
50
|
+
- People Also Ask questions
|
|
51
|
+
- Related searches
|
|
52
|
+
|
|
53
|
+
2. **Get search intent** using get_search_intent to determine:
|
|
54
|
+
- Primary intent (informational, transactional, navigational)
|
|
55
|
+
- Recommended content type and format
|
|
56
|
+
|
|
57
|
+
3. **Research the topic** using start_research for deeper insights
|
|
58
|
+
|
|
59
|
+
4. **Present your findings** including:
|
|
60
|
+
- Main keyword opportunities
|
|
61
|
+
- Long-tail variations
|
|
62
|
+
- Content gaps to exploit
|
|
63
|
+
- Recommended content angle
|
|
64
|
+
|
|
65
|
+
5. **Suggest next steps** for creating content based on the research
|
|
66
|
+
|
|
67
|
+
Please start with the SERP analysis.`,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
];
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=keyword-research.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keyword-research.js","sourceRoot":"","sources":["../../src/prompts/keyword-research.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,2GAA2G;IAC7G,SAAS,EAAE;QACT;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EAAE,kDAAkD;YAC/D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,SAAS;YACf,WAAW,EAAE,6DAA6D;YAC1E,QAAQ,EAAE,KAAK;SAChB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,wCAAwC;YACrD,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAA4B;IAIrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;IACrC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC;IAEvC,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,0CAA0C,KAAK;;;aAGhD,OAAO;cACN,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;qCAwBe;aAC9B;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimize Content Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through optimizing existing content:
|
|
5
|
+
* 1. Analyze the current content
|
|
6
|
+
* 2. Run optimization analysis
|
|
7
|
+
* 3. Review and apply suggestions
|
|
8
|
+
*/
|
|
9
|
+
import type { McpPromptDefinition } from "../types.js";
|
|
10
|
+
export declare const optimizeContentPrompt: McpPromptDefinition;
|
|
11
|
+
export declare function getOptimizeContentMessages(args: Record<string, string>): Array<{
|
|
12
|
+
role: "user" | "assistant";
|
|
13
|
+
content: {
|
|
14
|
+
type: "text";
|
|
15
|
+
text: string;
|
|
16
|
+
};
|
|
17
|
+
}>;
|
|
18
|
+
//# sourceMappingURL=optimize-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimize-content.d.ts","sourceRoot":"","sources":["../../src/prompts/optimize-content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAEvD,eAAO,MAAM,qBAAqB,EAAE,mBAiBnC,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC;IAC9E,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACzC,CAAC,CAkCD"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Optimize Content Prompt
|
|
3
|
+
*
|
|
4
|
+
* A workflow prompt that guides Claude through optimizing existing content:
|
|
5
|
+
* 1. Analyze the current content
|
|
6
|
+
* 2. Run optimization analysis
|
|
7
|
+
* 3. Review and apply suggestions
|
|
8
|
+
*/
|
|
9
|
+
export const optimizeContentPrompt = {
|
|
10
|
+
name: "optimize_content",
|
|
11
|
+
description: "Analyze and optimize existing content. Reviews SEO factors, readability, and provides actionable improvement suggestions.",
|
|
12
|
+
arguments: [
|
|
13
|
+
{
|
|
14
|
+
name: "content_id",
|
|
15
|
+
description: "The ID of the content to optimize (required)",
|
|
16
|
+
required: true,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
name: "focus",
|
|
20
|
+
description: "Focus area: seo, readability, structure, all (default: all)",
|
|
21
|
+
required: false,
|
|
22
|
+
},
|
|
23
|
+
],
|
|
24
|
+
};
|
|
25
|
+
export function getOptimizeContentMessages(args) {
|
|
26
|
+
const contentId = args.content_id || "[content_id]";
|
|
27
|
+
const focus = args.focus || "all";
|
|
28
|
+
return [
|
|
29
|
+
{
|
|
30
|
+
role: "user",
|
|
31
|
+
content: {
|
|
32
|
+
type: "text",
|
|
33
|
+
text: `Please help me optimize my content with ID: ${contentId}
|
|
34
|
+
|
|
35
|
+
Focus area: ${focus}
|
|
36
|
+
|
|
37
|
+
Please follow these steps:
|
|
38
|
+
|
|
39
|
+
1. **Get the current content** using get_content to understand what we're working with
|
|
40
|
+
|
|
41
|
+
2. **Start an optimization analysis** using start_optimization
|
|
42
|
+
|
|
43
|
+
3. **Wait for the analysis** to complete using get_job_status
|
|
44
|
+
|
|
45
|
+
4. **Get the optimization results** using get_optimization
|
|
46
|
+
|
|
47
|
+
5. **Present the suggestions** organized by:
|
|
48
|
+
- Priority (high, medium, low)
|
|
49
|
+
- Type (SEO, readability, structure, etc.)
|
|
50
|
+
- Expected impact
|
|
51
|
+
|
|
52
|
+
6. **Ask which suggestions to apply** before making changes
|
|
53
|
+
|
|
54
|
+
Please start by fetching the content details.`,
|
|
55
|
+
},
|
|
56
|
+
},
|
|
57
|
+
];
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=optimize-content.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"optimize-content.js","sourceRoot":"","sources":["../../src/prompts/optimize-content.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,2HAA2H;IAC7H,SAAS,EAAE;QACT;YACE,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,8CAA8C;YAC3D,QAAQ,EAAE,IAAI;SACf;QACD;YACE,IAAI,EAAE,OAAO;YACb,WAAW,EACT,6DAA6D;YAC/D,QAAQ,EAAE,KAAK;SAChB;KACF;CACF,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAC,IAA4B;IAIrE,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,cAAc,CAAC;IACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC;IAElC,OAAO;QACL;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,+CAA+C,SAAS;;cAExD,KAAK;;;;;;;;;;;;;;;;;;;8CAmB2B;aACvC;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Briefs MCP Resources
|
|
3
|
+
*
|
|
4
|
+
* Expose briefs as browsable MCP resources:
|
|
5
|
+
* - frase://briefs - List of briefs
|
|
6
|
+
* - frase://briefs/{id} - Individual brief with outline
|
|
7
|
+
*/
|
|
8
|
+
import type { ToolContext } from "../types.js";
|
|
9
|
+
export declare const BRIEFS_URI = "frase://briefs";
|
|
10
|
+
export declare const BRIEF_URI_PREFIX = "frase://briefs/";
|
|
11
|
+
export declare const briefResourceTemplates: {
|
|
12
|
+
uriTemplate: string;
|
|
13
|
+
name: string;
|
|
14
|
+
description: string;
|
|
15
|
+
mimeType: string;
|
|
16
|
+
}[];
|
|
17
|
+
export interface BriefResource {
|
|
18
|
+
uri: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
mimeType: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function listBriefResources(context: ToolContext): Promise<BriefResource[]>;
|
|
24
|
+
export declare function readBriefResource(uri: string, context: ToolContext): Promise<string>;
|
|
25
|
+
export declare function matchesBriefUri(uri: string): boolean;
|
|
26
|
+
//# sourceMappingURL=briefs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"briefs.d.ts","sourceRoot":"","sources":["../../src/resources/briefs.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACV,WAAW,EAIZ,MAAM,aAAa,CAAC;AA+BrB,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAC3C,eAAO,MAAM,gBAAgB,oBAAoB,CAAC;AAMlD,eAAO,MAAM,sBAAsB;;;;;GAOlC,CAAC;AAMF,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,aAAa,EAAE,CAAC,CAsC1B;AAMD,wBAAsB,iBAAiB,CACrC,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,WAAW,GACnB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAsGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEpD"}
|