@jaypie/mcp 0.2.12 → 0.3.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/README.md ADDED
@@ -0,0 +1,62 @@
1
+ # Jaypie MCP
2
+
3
+ MCP (Model Context Protocol) server for Jaypie development. Provides tools for AI agents to access Jaypie documentation, development guides, Datadog observability data, and AWS CLI operations.
4
+
5
+ ## Usage
6
+
7
+ ```bash
8
+ npx jaypie-mcp # Run MCP server via stdio
9
+ npx jaypie-mcp --verbose # Run with debug logging
10
+ ```
11
+
12
+ ## Environment Variables
13
+
14
+ ### AWS CLI Integration
15
+ | Variable | Description |
16
+ |----------|-------------|
17
+ | `AWS_PROFILE` | Default profile if not specified per-call |
18
+ | `AWS_REGION` or `AWS_DEFAULT_REGION` | Default region if not specified |
19
+
20
+ AWS tools use the host's existing credential chain:
21
+ - `~/.aws/credentials` and `~/.aws/config` files
22
+ - Environment variables (`AWS_ACCESS_KEY_ID`, etc.)
23
+ - SSO sessions established via `aws sso login`
24
+
25
+ ### Datadog Integration
26
+ | Variable | Description |
27
+ |----------|-------------|
28
+ | `DATADOG_API_KEY` or `DD_API_KEY` | Datadog API key |
29
+ | `DATADOG_APP_KEY` or `DD_APP_KEY` | Datadog Application key |
30
+ | `DD_ENV` | Default environment filter |
31
+ | `DD_SERVICE` | Default service filter |
32
+ | `DD_SOURCE` | Default log source (defaults to "lambda") |
33
+ | `DD_QUERY` | Default query terms appended to searches |
34
+
35
+ ## MCP Tools
36
+
37
+ ### Documentation Tools
38
+ - `list_prompts` - Lists Jaypie development prompts and guides
39
+ - `read_prompt` - Returns content of a specific prompt file
40
+ - `version` - Returns package version string
41
+
42
+ ### AWS CLI Tools (16 tools)
43
+ - Step Functions: `aws_stepfunctions_list_executions`, `aws_stepfunctions_stop_execution`
44
+ - Lambda: `aws_lambda_list_functions`, `aws_lambda_get_function`
45
+ - CloudWatch Logs: `aws_logs_filter_log_events`
46
+ - S3: `aws_s3_list_objects`
47
+ - CloudFormation: `aws_cloudformation_describe_stack`
48
+ - DynamoDB: `aws_dynamodb_describe_table`, `aws_dynamodb_scan`, `aws_dynamodb_query`, `aws_dynamodb_get_item`
49
+ - SQS: `aws_sqs_list_queues`, `aws_sqs_get_queue_attributes`, `aws_sqs_receive_message`, `aws_sqs_purge_queue`
50
+ - Profiles: `aws_list_profiles`
51
+
52
+ ### Datadog Tools (6 tools)
53
+ - `datadog_logs`, `datadog_log_analytics`, `datadog_monitors`, `datadog_synthetics`, `datadog_metrics`, `datadog_rum`
54
+
55
+ ### LLM Tools (2 tools)
56
+ - `llm_debug_call`, `llm_list_providers`
57
+
58
+ See [CLAUDE.md](./CLAUDE.md) for detailed documentation.
59
+
60
+ ## License
61
+
62
+ [MIT License](./LICENSE.txt). Published by Finlayson Studio
package/dist/aws.d.ts ADDED
@@ -0,0 +1,197 @@
1
+ interface Logger {
2
+ info: (message: string, ...args: unknown[]) => void;
3
+ error: (message: string, ...args: unknown[]) => void;
4
+ }
5
+ export interface AwsCommandOptions {
6
+ profile?: string;
7
+ region?: string;
8
+ }
9
+ export interface AwsCommandResult<T> {
10
+ success: boolean;
11
+ data?: T;
12
+ error?: string;
13
+ }
14
+ export interface StepFunctionExecution {
15
+ executionArn: string;
16
+ stateMachineArn: string;
17
+ name: string;
18
+ status: string;
19
+ startDate: string;
20
+ stopDate?: string;
21
+ }
22
+ export interface StepFunctionsListExecutionsOptions extends AwsCommandOptions {
23
+ stateMachineArn: string;
24
+ statusFilter?: "RUNNING" | "SUCCEEDED" | "FAILED" | "TIMED_OUT" | "ABORTED" | "PENDING_REDRIVE";
25
+ maxResults?: number;
26
+ }
27
+ export interface StepFunctionsStopExecutionOptions extends AwsCommandOptions {
28
+ executionArn: string;
29
+ cause?: string;
30
+ }
31
+ export interface LambdaFunction {
32
+ FunctionName: string;
33
+ FunctionArn: string;
34
+ Runtime?: string;
35
+ Handler?: string;
36
+ CodeSize: number;
37
+ Description?: string;
38
+ Timeout?: number;
39
+ MemorySize?: number;
40
+ LastModified: string;
41
+ Version?: string;
42
+ }
43
+ export interface LambdaListFunctionsOptions extends AwsCommandOptions {
44
+ functionNamePrefix?: string;
45
+ maxResults?: number;
46
+ }
47
+ export interface LambdaGetFunctionOptions extends AwsCommandOptions {
48
+ functionName: string;
49
+ }
50
+ export interface LogEvent {
51
+ timestamp: number;
52
+ message: string;
53
+ ingestionTime?: number;
54
+ logStreamName?: string;
55
+ }
56
+ export interface CloudWatchLogsFilterOptions extends AwsCommandOptions {
57
+ logGroupName: string;
58
+ filterPattern?: string;
59
+ startTime?: string;
60
+ endTime?: string;
61
+ limit?: number;
62
+ }
63
+ export interface S3Object {
64
+ Key: string;
65
+ LastModified: string;
66
+ ETag: string;
67
+ Size: number;
68
+ StorageClass: string;
69
+ }
70
+ export interface S3ListObjectsOptions extends AwsCommandOptions {
71
+ bucket: string;
72
+ prefix?: string;
73
+ maxResults?: number;
74
+ }
75
+ export interface CloudFormationStack {
76
+ StackName: string;
77
+ StackId: string;
78
+ StackStatus: string;
79
+ StackStatusReason?: string;
80
+ CreationTime: string;
81
+ LastUpdatedTime?: string;
82
+ Description?: string;
83
+ Outputs?: Array<{
84
+ OutputKey: string;
85
+ OutputValue: string;
86
+ Description?: string;
87
+ }>;
88
+ Parameters?: Array<{
89
+ ParameterKey: string;
90
+ ParameterValue: string;
91
+ }>;
92
+ }
93
+ export interface CloudFormationDescribeStackOptions extends AwsCommandOptions {
94
+ stackName: string;
95
+ }
96
+ export interface DynamoDBDescribeTableOptions extends AwsCommandOptions {
97
+ tableName: string;
98
+ }
99
+ export interface DynamoDBScanOptions extends AwsCommandOptions {
100
+ tableName: string;
101
+ filterExpression?: string;
102
+ expressionAttributeValues?: string;
103
+ limit?: number;
104
+ }
105
+ export interface DynamoDBQueryOptions extends AwsCommandOptions {
106
+ tableName: string;
107
+ keyConditionExpression: string;
108
+ expressionAttributeValues: string;
109
+ indexName?: string;
110
+ filterExpression?: string;
111
+ limit?: number;
112
+ scanIndexForward?: boolean;
113
+ }
114
+ export interface DynamoDBGetItemOptions extends AwsCommandOptions {
115
+ tableName: string;
116
+ key: string;
117
+ }
118
+ export interface SQSQueue {
119
+ QueueUrl: string;
120
+ }
121
+ export interface SQSListQueuesOptions extends AwsCommandOptions {
122
+ queueNamePrefix?: string;
123
+ }
124
+ export interface SQSGetQueueAttributesOptions extends AwsCommandOptions {
125
+ queueUrl: string;
126
+ }
127
+ export interface SQSReceiveMessageOptions extends AwsCommandOptions {
128
+ queueUrl: string;
129
+ maxNumberOfMessages?: number;
130
+ visibilityTimeout?: number;
131
+ }
132
+ export interface SQSPurgeQueueOptions extends AwsCommandOptions {
133
+ queueUrl: string;
134
+ }
135
+ export interface AwsProfile {
136
+ name: string;
137
+ source: "config" | "credentials";
138
+ region?: string;
139
+ sso_start_url?: string;
140
+ }
141
+ /**
142
+ * Execute an AWS CLI command and return parsed JSON output
143
+ */
144
+ export declare function executeAwsCommand<T>(service: string, command: string, args: string[], options?: AwsCommandOptions, logger?: Logger): Promise<AwsCommandResult<T>>;
145
+ /**
146
+ * List available AWS profiles from ~/.aws/config and ~/.aws/credentials
147
+ */
148
+ export declare function listAwsProfiles(logger?: Logger): Promise<AwsCommandResult<AwsProfile[]>>;
149
+ export declare function listStepFunctionExecutions(options: StepFunctionsListExecutionsOptions, logger?: Logger): Promise<AwsCommandResult<{
150
+ executions: StepFunctionExecution[];
151
+ }>>;
152
+ export declare function stopStepFunctionExecution(options: StepFunctionsStopExecutionOptions, logger?: Logger): Promise<AwsCommandResult<{
153
+ stopDate: string;
154
+ }>>;
155
+ export declare function listLambdaFunctions(options?: LambdaListFunctionsOptions, logger?: Logger): Promise<AwsCommandResult<{
156
+ Functions: LambdaFunction[];
157
+ }>>;
158
+ export declare function getLambdaFunction(options: LambdaGetFunctionOptions, logger?: Logger): Promise<AwsCommandResult<{
159
+ Configuration: LambdaFunction;
160
+ }>>;
161
+ export declare function filterLogEvents(options: CloudWatchLogsFilterOptions, logger?: Logger): Promise<AwsCommandResult<{
162
+ events: LogEvent[];
163
+ }>>;
164
+ export declare function listS3Objects(options: S3ListObjectsOptions, logger?: Logger): Promise<AwsCommandResult<{
165
+ Contents: S3Object[];
166
+ }>>;
167
+ export declare function describeStack(options: CloudFormationDescribeStackOptions, logger?: Logger): Promise<AwsCommandResult<{
168
+ Stacks: CloudFormationStack[];
169
+ }>>;
170
+ export declare function describeDynamoDBTable(options: DynamoDBDescribeTableOptions, logger?: Logger): Promise<AwsCommandResult<{
171
+ Table: Record<string, unknown>;
172
+ }>>;
173
+ export declare function scanDynamoDB(options: DynamoDBScanOptions, logger?: Logger): Promise<AwsCommandResult<{
174
+ Items: Record<string, unknown>[];
175
+ }>>;
176
+ export declare function queryDynamoDB(options: DynamoDBQueryOptions, logger?: Logger): Promise<AwsCommandResult<{
177
+ Items: Record<string, unknown>[];
178
+ }>>;
179
+ export declare function getDynamoDBItem(options: DynamoDBGetItemOptions, logger?: Logger): Promise<AwsCommandResult<{
180
+ Item: Record<string, unknown>;
181
+ }>>;
182
+ export declare function listSQSQueues(options?: SQSListQueuesOptions, logger?: Logger): Promise<AwsCommandResult<{
183
+ QueueUrls: string[];
184
+ }>>;
185
+ export declare function getSQSQueueAttributes(options: SQSGetQueueAttributesOptions, logger?: Logger): Promise<AwsCommandResult<{
186
+ Attributes: Record<string, string>;
187
+ }>>;
188
+ export declare function receiveSQSMessage(options: SQSReceiveMessageOptions, logger?: Logger): Promise<AwsCommandResult<{
189
+ Messages: Array<{
190
+ MessageId: string;
191
+ ReceiptHandle: string;
192
+ Body: string;
193
+ Attributes?: Record<string, string>;
194
+ }>;
195
+ }>>;
196
+ export declare function purgeSQSQueue(options: SQSPurgeQueueOptions, logger?: Logger): Promise<AwsCommandResult<void>>;
197
+ export {};