iflow-mcp-mikeskarl-mcp-prompt-templates 0.1.5__py3-none-any.whl

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.
__main__.py ADDED
@@ -0,0 +1,113 @@
1
+ from mcp.server import Server, NotificationOptions
2
+ from mcp.server.models import InitializationOptions
3
+ import mcp.server.stdio
4
+ import mcp.types as types
5
+ import yaml
6
+ import os
7
+ import asyncio
8
+
9
+ class TemplateServer(Server):
10
+ def __init__(self):
11
+ super().__init__("analysis-template-server")
12
+ self.templates = self._load_templates()
13
+
14
+ def _load_templates(self):
15
+ templates = {}
16
+ template_dir = os.path.join(os.path.dirname(__file__), 'templates')
17
+
18
+ for category in os.listdir(template_dir):
19
+ category_path = os.path.join(template_dir, category)
20
+ if os.path.isdir(category_path):
21
+ # Load config
22
+ with open(os.path.join(category_path, 'config.yaml'), 'r') as f:
23
+ config = yaml.safe_load(f)
24
+
25
+ # Load template
26
+ with open(os.path.join(category_path, 'template.md'), 'r') as f:
27
+ template = f.read()
28
+
29
+ templates[category] = {
30
+ 'config': config,
31
+ 'template': template
32
+ }
33
+
34
+ return templates
35
+
36
+ server = TemplateServer()
37
+
38
+ @server.list_tools()
39
+ async def handle_list_tools() -> list[types.Tool]:
40
+ """List available analysis template tools"""
41
+ tools = []
42
+ for name, template in server.templates.items():
43
+ tools.append(
44
+ types.Tool(
45
+ name=name,
46
+ description=template['config']['description'],
47
+ inputSchema={
48
+ "type": "object",
49
+ "properties": {}
50
+ }
51
+ )
52
+ )
53
+ return tools
54
+
55
+ @server.list_prompts()
56
+ async def handle_list_prompts() -> list[types.Prompt]:
57
+ prompts = []
58
+ for name, template in server.templates.items():
59
+ prompts.append(
60
+ types.Prompt(
61
+ name=name,
62
+ description=template['config']['description'],
63
+ arguments=template['config']['arguments']
64
+ )
65
+ )
66
+ return prompts
67
+
68
+ @server.get_prompt()
69
+ async def handle_get_prompt(
70
+ name: str,
71
+ arguments: dict[str, str] | None
72
+ ) -> types.GetPromptResult:
73
+ if name not in server.templates:
74
+ raise ValueError(f"Unknown template: {name}")
75
+
76
+ template = server.templates[name]
77
+ formatted_template = template['template']
78
+
79
+ # Replace placeholders with arguments
80
+ if arguments:
81
+ for key, value in arguments.items():
82
+ formatted_template = formatted_template.replace(f"{{{{ {key} }}}}", value)
83
+
84
+ return types.GetPromptResult(
85
+ description=template['config']['description'],
86
+ messages=[
87
+ types.PromptMessage(
88
+ role="user",
89
+ content=types.TextContent(
90
+ type="text",
91
+ text=formatted_template
92
+ )
93
+ )
94
+ ]
95
+ )
96
+
97
+ async def main():
98
+ async with mcp.server.stdio.stdio_server() as (read_stream, write_stream):
99
+ await server.run(
100
+ read_stream,
101
+ write_stream,
102
+ InitializationOptions(
103
+ server_name="analysis-templates",
104
+ server_version="0.1.5",
105
+ capabilities=server.get_capabilities(
106
+ notification_options=NotificationOptions(),
107
+ experimental_capabilities={}
108
+ )
109
+ )
110
+ )
111
+
112
+ if __name__ == "__main__":
113
+ asyncio.run(main())
@@ -0,0 +1,62 @@
1
+ Metadata-Version: 2.4
2
+ Name: iflow-mcp-mikeskarl-mcp-prompt-templates
3
+ Version: 0.1.5
4
+ Summary: An MCP server for managing and serving analysis templates and prompt chains
5
+ Requires-Python: >=3.11
6
+ Requires-Dist: anyio
7
+ Requires-Dist: mcp>=0.9.0
8
+ Requires-Dist: pyyaml
9
+ Description-Content-Type: text/markdown
10
+
11
+ # MCP Analysis Templates
12
+
13
+ An MCP server for managing and serving analysis templates and prompt chains.
14
+
15
+ ## Overview
16
+
17
+ This repository contains a Model Context Protocol (MCP) server implementation that provides standardized templates for various types of content analysis:
18
+
19
+ - Meeting Analysis (detailed meeting minutes and action items)
20
+ - Meeting Summary (executive-style brief summary)
21
+ - Webinar to Blog Post conversion
22
+
23
+ ## Structure
24
+
25
+ ```
26
+ mcp-analysis-templates/
27
+ ├── README.md
28
+ ├── requirements.txt
29
+ ├── server.py
30
+ ├── config.yaml
31
+ ├── templates/
32
+ │ ├── meeting_analysis/
33
+ │ │ ├── template.md
34
+ │ │ └── config.yaml
35
+ │ ├── meeting_summary/
36
+ │ │ ├── template.md
37
+ │ │ └── config.yaml
38
+ │ └── webinar_blog/
39
+ ├── template.md
40
+ └── config.yaml
41
+ └── docs/
42
+ ├── setup.md
43
+ └── usage.md
44
+ ```
45
+
46
+ ## Setup
47
+
48
+ 1. Install dependencies:
49
+ ```bash
50
+ pip install -r requirements.txt
51
+ ```
52
+
53
+ 2. Run the server:
54
+ ```bash
55
+ python server.py
56
+ ```
57
+
58
+ ## Usage
59
+
60
+ The server provides templates through the MCP protocol. Connect to it using any MCP client to access the templates.
61
+
62
+ See the docs directory for detailed setup and usage instructions.
@@ -0,0 +1,10 @@
1
+ __main__.py,sha256=ThMvp9gLMRvfcQi9-RJ5H6-Fa17RCjb9ATxDI1Pvgqg,3482
2
+ templates/meeting_analysis/config.yaml,sha256=mG1foG041C_xm_OdnMDLuwioWYnYPbP1vwF6vQfG2Dw,605
3
+ templates/meeting_analysis/template.md,sha256=BZ-3RFAJ3UXcj5-B438bs9x6_spbs-CqTjQCSOoqztQ,1686
4
+ templates/meeting_summary/config.yaml,sha256=8ZXFQgom-p5_AU2HfU4kK55U0NtudW_BX2sm9B5CCyg,547
5
+ templates/meeting_summary/template.md,sha256=kbdtrZ_HmJ8NWpmmFTo9hSZbcdEh67ljkNp8z3FCFBA,879
6
+ templates/webinar_blog/config.yaml,sha256=pV6rh7-b4HroQEAvGUnED8Q8-oz4YBcV_yOfuVJl01E,633
7
+ templates/webinar_blog/template.md,sha256=pIY3xLbKKa0zjKbhJQHnQccvKl5uhLhVpaPBIODilEw,1151
8
+ iflow_mcp_mikeskarl_mcp_prompt_templates-0.1.5.dist-info/METADATA,sha256=QQXC1F-iy0vVuDz4qaSUZV-IaiMdRQ7dtNLDSfhUSiw,1554
9
+ iflow_mcp_mikeskarl_mcp_prompt_templates-0.1.5.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
10
+ iflow_mcp_mikeskarl_mcp_prompt_templates-0.1.5.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,19 @@
1
+ description: "Comprehensive meeting analysis template for detailed minutes and action items"
2
+ version: "1.0"
3
+ arguments:
4
+ - name: "meeting_date"
5
+ description: "Date of the meeting"
6
+ required: true
7
+ - name: "meeting_title"
8
+ description: "Title or subject of the meeting"
9
+ required: true
10
+ - name: "transcript"
11
+ description: "Full meeting transcript to analyze"
12
+ required: true
13
+ metadata:
14
+ tags:
15
+ - meetings
16
+ - analysis
17
+ - minutes
18
+ suggested_use: "Use for important strategic meetings, client meetings, or any meeting requiring detailed documentation"
19
+ output_format: "markdown"
@@ -0,0 +1,51 @@
1
+ # Meeting Analysis Template
2
+
3
+ You are an Executive Assistant working for a global infrastructure consultancy. Your task is to analyze the following meeting transcript with exceptional attention to detail and organizational skills.
4
+
5
+ Meeting Information:
6
+ Date: {{ meeting_date }}
7
+ Title: {{ meeting_title }}
8
+
9
+ Transcript:
10
+ {{ transcript }}
11
+
12
+ Please provide a comprehensive analysis using the following structure:
13
+
14
+ ## 1. Executive Summary
15
+ - Provide a concise overview of the meeting's purpose and outcomes
16
+ - Highlight the most important strategic decisions
17
+ - Include critical insights from the discussion
18
+
19
+ ## 2. Detailed Minutes
20
+ - Structure the minutes by topic/agenda item
21
+ - Include attendees and their roles
22
+ - Summarize key discussions
23
+ - Document all decisions made
24
+ - List action items with assignees and deadlines
25
+
26
+ ## 3. Key Decisions & Action Items
27
+ - Enumerate all decisions made during the meeting
28
+ - List action items in a structured format:
29
+ * Who is responsible
30
+ * What needs to be done
31
+ * When it needs to be completed
32
+ * Any dependencies or resources needed
33
+
34
+ ## 4. Risk Analysis
35
+ - Identify potential risks or challenges mentioned
36
+ - Note opportunities discussed
37
+ - Highlight areas needing further discussion or clarification
38
+
39
+ ## 5. Individual Contributions
40
+ - Summarize key points made by each participant
41
+ - Note any commitments or responsibilities taken on
42
+ - Highlight expertise or insights shared
43
+
44
+ Please format your response using clean markdown with appropriate headers and bullet points.
45
+
46
+ Remember to:
47
+ - Be objective and factual
48
+ - Capture both explicit and implicit information
49
+ - Maintain professional language
50
+ - Highlight strategic implications
51
+ - Note any follow-up requirements
@@ -0,0 +1,19 @@
1
+ description: "Brief executive summary template for meeting highlights and key decisions"
2
+ version: "1.0"
3
+ arguments:
4
+ - name: "meeting_date"
5
+ description: "Date of the meeting"
6
+ required: true
7
+ - name: "meeting_title"
8
+ description: "Title or subject of the meeting"
9
+ required: true
10
+ - name: "transcript"
11
+ description: "Full meeting transcript to analyze"
12
+ required: true
13
+ metadata:
14
+ tags:
15
+ - meetings
16
+ - summary
17
+ - executive
18
+ suggested_use: "Use for quick summaries and executive briefings"
19
+ output_format: "markdown"
@@ -0,0 +1,34 @@
1
+ # Meeting Summary Template
2
+
3
+ As an Executive Assistant, please provide a concise executive summary of this meeting. Focus on key points, decisions, and action items.
4
+
5
+ Meeting Information:
6
+ Date: {{ meeting_date }}
7
+ Title: {{ meeting_title }}
8
+
9
+ Transcript:
10
+ {{ transcript }}
11
+
12
+ Please provide a brief summary using the following structure:
13
+
14
+ ## Overview
15
+ - Meeting purpose and context
16
+ - Key participants
17
+ - Main topics covered
18
+
19
+ ## Key Decisions
20
+ - List major decisions made
21
+ - Note any strategic direction changes
22
+ - Highlight important agreements
23
+
24
+ ## Action Items
25
+ - List critical next steps
26
+ - Include responsible parties and deadlines
27
+ - Note any dependencies
28
+
29
+ ## Follow-up Required
30
+ - List items needing additional discussion
31
+ - Note scheduled follow-up meetings
32
+ - Highlight pending decisions
33
+
34
+ Keep the summary concise and focused on the most important points. Use clear, professional language.
@@ -0,0 +1,22 @@
1
+ description: "Template for converting webinar transcripts into engaging blog posts"
2
+ version: "1.0"
3
+ arguments:
4
+ - name: "webinar_title"
5
+ description: "Title of the webinar"
6
+ required: true
7
+ - name: "webinar_date"
8
+ description: "Date of the webinar"
9
+ required: true
10
+ - name: "speakers"
11
+ description: "Names and titles of webinar speakers"
12
+ required: true
13
+ - name: "transcript"
14
+ description: "Full webinar transcript"
15
+ required: true
16
+ metadata:
17
+ tags:
18
+ - webinar
19
+ - blog
20
+ - content
21
+ suggested_use: "Use for creating blog content from recorded webinars and presentations"
22
+ output_format: "markdown"
@@ -0,0 +1,44 @@
1
+ # Webinar to Blog Post Template
2
+
3
+ You are a content specialist tasked with converting a webinar transcript into an engaging blog post. Maintain the educational value while making the content more readable and web-friendly.
4
+
5
+ Webinar Information:
6
+ Title: {{ webinar_title }}
7
+ Date: {{ webinar_date }}
8
+ Speakers: {{ speakers }}
9
+
10
+ Transcript:
11
+ {{ transcript }}
12
+
13
+ Please convert this webinar into a blog post using the following structure:
14
+
15
+ ## Title [Create an engaging blog title]
16
+
17
+ ## Introduction
18
+ - Hook the reader's attention
19
+ - Provide context about the webinar
20
+ - Preview the key takeaways
21
+
22
+ ## Main Content
23
+ Divide the content into 3-5 main sections, each with:
24
+ - Clear subheadings
25
+ - Key points from the webinar
26
+ - Supporting examples or case studies
27
+ - Expert quotes from speakers
28
+
29
+ ## Key Takeaways
30
+ - List 3-5 main lessons or insights
31
+ - Include actionable tips
32
+ - Highlight unique perspectives
33
+
34
+ ## Conclusion
35
+ - Summarize the main points
36
+ - Call to action
37
+ - Additional resources
38
+
39
+ Formatting Guidelines:
40
+ - Use short paragraphs
41
+ - Include bullet points for lists
42
+ - Break up text with subheadings
43
+ - Incorporate speaker quotes
44
+ - Add transition sentences between sections