@iflow-mcp/kdcokenny-lsbible 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.
@@ -0,0 +1,230 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { L as LSBibleClient, B as BookName, T as TextSegment } from '../noop-B62cxzKZ.js';
3
+ export { C as CacheOptions, a as CacheProvider, b as CacheTTL, M as MemoryCacheProvider, N as NoopCacheProvider } from '../noop-B62cxzKZ.js';
4
+ import 'zod';
5
+
6
+ /**
7
+ * LSBible MCP Server factory function.
8
+ *
9
+ * Creates a configured MCP server with all tools, resources, and prompts.
10
+ */
11
+
12
+ /**
13
+ * Create and configure an LSBible MCP server.
14
+ *
15
+ * The server exposes:
16
+ * - 4 tools: get_verse, get_passage, get_chapter, search_bible
17
+ * - 2 resources: bible://books, bible://structure/{book}
18
+ * - 2 prompts: bible_study, cross_reference
19
+ *
20
+ * @returns Configured McpServer instance
21
+ *
22
+ * @example
23
+ * ```ts
24
+ * // For stdio transport (local)
25
+ * const server = createLSBibleMCPServer();
26
+ * const transport = new StdioServerTransport();
27
+ * await server.connect(transport);
28
+ * ```
29
+ *
30
+ * @example
31
+ * ```ts
32
+ * // For HTTP transport (Cloudflare Workers)
33
+ * const server = createLSBibleMCPServer();
34
+ * const transport = new StreamableHTTPServerTransport(...);
35
+ * await server.connect(transport);
36
+ * ```
37
+ */
38
+ declare function createLSBibleMCPServer(): McpServer;
39
+
40
+ /**
41
+ * MCP tool implementations for LSBible.
42
+ *
43
+ * Provides 4 tools:
44
+ * - get_verse: Fetch a single Bible verse
45
+ * - get_passage: Fetch a range of verses
46
+ * - get_chapter: Fetch an entire chapter
47
+ * - search_bible: Full-text search across the Bible
48
+ */
49
+
50
+ /**
51
+ * Register all tools with the MCP server.
52
+ *
53
+ * @param server - McpServer instance
54
+ * @param client - Optional LSBibleClient instance (for custom cache configuration)
55
+ */
56
+ declare function registerTools(server: McpServer, client?: LSBibleClient): void;
57
+
58
+ /**
59
+ * MCP resource handlers for LSBible.
60
+ *
61
+ * Provides 2 resources:
62
+ * - bible://books (static): List all 66 books of the Bible
63
+ * - bible://structure/{book} (dynamic): Get chapter/verse structure for a specific book
64
+ */
65
+
66
+ /**
67
+ * Register all resources with the MCP server.
68
+ *
69
+ * @param server - McpServer instance
70
+ */
71
+ declare function registerResources(server: McpServer): void;
72
+
73
+ /**
74
+ * MCP prompt templates for LSBible.
75
+ *
76
+ * Provides 2 prompts:
77
+ * - bible_study: Generate a structured Bible study guide
78
+ * - cross_reference: Find related verses and themes
79
+ */
80
+
81
+ /**
82
+ * Register all prompts with the MCP server.
83
+ *
84
+ * @param server - McpServer instance
85
+ */
86
+ declare function registerPrompts(server: McpServer): void;
87
+
88
+ /**
89
+ * MCP-specific types and interfaces for LSBible server.
90
+ */
91
+
92
+ /**
93
+ * MCP Tool input for get_verse
94
+ */
95
+ interface GetVerseInput {
96
+ book: BookName;
97
+ chapter: number;
98
+ verse: number;
99
+ }
100
+ /**
101
+ * MCP Tool output for get_verse
102
+ */
103
+ interface GetVerseOutput {
104
+ [x: string]: unknown;
105
+ reference: {
106
+ book: string;
107
+ chapter: number;
108
+ verse: number;
109
+ };
110
+ text: string;
111
+ segments: TextSegment[];
112
+ }
113
+ /**
114
+ * MCP Tool input for get_passage
115
+ */
116
+ interface GetPassageInput {
117
+ fromBook: BookName;
118
+ fromChapter: number;
119
+ fromVerse: number;
120
+ toBook: BookName;
121
+ toChapter: number;
122
+ toVerse: number;
123
+ }
124
+ /**
125
+ * MCP Tool output for get_passage
126
+ */
127
+ interface GetPassageOutput {
128
+ [x: string]: unknown;
129
+ reference: {
130
+ from: {
131
+ book: string;
132
+ chapter: number;
133
+ verse: number;
134
+ };
135
+ to: {
136
+ book: string;
137
+ chapter: number;
138
+ verse: number;
139
+ };
140
+ };
141
+ verses: Array<{
142
+ reference: {
143
+ book: string;
144
+ chapter: number;
145
+ verse: number;
146
+ };
147
+ text: string;
148
+ segments: TextSegment[];
149
+ }>;
150
+ }
151
+ /**
152
+ * MCP Tool input for get_chapter
153
+ */
154
+ interface GetChapterInput {
155
+ book: BookName;
156
+ chapter: number;
157
+ }
158
+ /**
159
+ * MCP Tool output for get_chapter
160
+ */
161
+ interface GetChapterOutput {
162
+ [x: string]: unknown;
163
+ reference: {
164
+ book: string;
165
+ chapter: number;
166
+ verseCount: number;
167
+ };
168
+ verses: Array<{
169
+ reference: {
170
+ book: string;
171
+ chapter: number;
172
+ verse: number;
173
+ };
174
+ text: string;
175
+ segments: TextSegment[];
176
+ }>;
177
+ }
178
+ /**
179
+ * MCP Tool input for search_bible
180
+ */
181
+ interface SearchBibleInput {
182
+ query: string;
183
+ includeDistribution?: boolean;
184
+ }
185
+ /**
186
+ * MCP Tool output for search_bible
187
+ */
188
+ interface SearchBibleOutput {
189
+ [x: string]: unknown;
190
+ query: string;
191
+ resultCount: number;
192
+ results: Array<{
193
+ reference: {
194
+ book: string;
195
+ chapter: number;
196
+ verse: number;
197
+ };
198
+ text: string;
199
+ segments: TextSegment[];
200
+ }>;
201
+ distribution?: {
202
+ bySection: Record<string, number>;
203
+ byBook: Record<string, number>;
204
+ } | undefined;
205
+ }
206
+ /**
207
+ * Book info for resources
208
+ */
209
+ interface BookResourceInfo {
210
+ name: string;
211
+ testament: string;
212
+ chapters: number;
213
+ verses: number;
214
+ }
215
+ /**
216
+ * Book structure resource
217
+ */
218
+ interface BookStructureResource {
219
+ uri: string;
220
+ book: string;
221
+ testament: string;
222
+ totalChapters: number;
223
+ totalVerses: number;
224
+ chapters: Array<{
225
+ chapter: number;
226
+ verses: number;
227
+ }>;
228
+ }
229
+
230
+ export { type BookResourceInfo, type BookStructureResource, type GetChapterInput, type GetChapterOutput, type GetPassageInput, type GetPassageOutput, type GetVerseInput, type GetVerseOutput, LSBibleClient, type SearchBibleInput, type SearchBibleOutput, createLSBibleMCPServer, registerPrompts, registerResources, registerTools };