@bitsbound/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.
package/README.md ADDED
@@ -0,0 +1,18 @@
1
+ # BitsBound MCP Server
2
+
3
+ AI-powered contract analysis for Claude.ai Custom Connectors.
4
+
5
+ ## Features
6
+ - Contract processing with partner-level redlines
7
+ - OOXML Track Changes (w:ins/w:del)
8
+ - Clause extraction and analysis
9
+ - Playbook comparison
10
+ - Negotiation email generation
11
+
12
+ ## Support
13
+ - Email: admin@bitsbound.com
14
+ - Privacy Policy: https://www.bitsbound.com/privacy
15
+ - DPA: https://www.bitsbound.com/dpa
16
+
17
+ ## License
18
+ Proprietary - BitsBound, Inc.
@@ -0,0 +1,28 @@
1
+ type LogLevel = 'debug' | 'info' | 'warn' | 'error';
2
+ interface LogEntry {
3
+ readonly timestamp: string;
4
+ readonly level: LogLevel;
5
+ readonly component: string;
6
+ readonly message: string;
7
+ readonly data?: Record<string, unknown>;
8
+ }
9
+ declare class McpLogger {
10
+ private readonly component;
11
+ private readonly minLevel;
12
+ private readonly levelPriority;
13
+ constructor(component: string, minLevel?: LogLevel);
14
+ private shouldLog;
15
+ private formatEntry;
16
+ private log;
17
+ debug(message: string, data?: Record<string, unknown>): void;
18
+ info(message: string, data?: Record<string, unknown>): void;
19
+ warn(message: string, data?: Record<string, unknown>): void;
20
+ error(message: string, data?: Record<string, unknown>): void;
21
+ child(subComponent: string): McpLogger;
22
+ }
23
+ export declare const createLogger: (component: string) => McpLogger;
24
+ export declare const serverLogger: McpLogger;
25
+ export declare const toolLogger: McpLogger;
26
+ export declare const apiLogger: McpLogger;
27
+ export type { McpLogger, LogLevel, LogEntry };
28
+ //# sourceMappingURL=Bitsbound_Kings_McpServer_Backend_Logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bitsbound_Kings_McpServer_Backend_Logger.d.ts","sourceRoot":"","sources":["../../logger/Bitsbound_Kings_McpServer_Backend_Logger.ts"],"names":[],"mappings":"AAgCA,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAEpD,UAAU,QAAQ;IAChB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACzC;AAMD,cAAM,SAAS;IACb,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAK5B;gBAEU,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAiB;IAK1D,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,GAAG;IAeX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI5D,KAAK,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS;CAGvC;AAiBD,eAAO,MAAM,YAAY,GAAI,WAAW,MAAM,KAAG,SAEhD,CAAC;AAEF,eAAO,MAAM,YAAY,WAAyB,CAAC;AACnD,eAAO,MAAM,UAAU,WAAwB,CAAC;AAChD,eAAO,MAAM,SAAS,WAAsB,CAAC;AAE7C,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC"}
@@ -0,0 +1,75 @@
1
+ ////////////////////////////////////////
2
+ // # GOLDEN RULE!!!! HONOR ABOVE ALL!!!!
3
+ ////////////////////////////////////////
4
+ // NO NEW FILES!!!!!!!!!
5
+ ////////////////////////////////////////
6
+ // ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
7
+ // MCP Logger 'R_DVT_G_T_Logger' - Logs to stderr (MCP protocol uses stdout for messages)
8
+ // ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
9
+ class McpLogger {
10
+ component;
11
+ minLevel;
12
+ levelPriority = {
13
+ debug: 0,
14
+ info: 1,
15
+ warn: 2,
16
+ error: 3
17
+ };
18
+ constructor(component, minLevel = 'info') {
19
+ this.component = component;
20
+ this.minLevel = minLevel;
21
+ }
22
+ shouldLog(level) {
23
+ return this.levelPriority[level] >= this.levelPriority[this.minLevel];
24
+ }
25
+ formatEntry(entry) {
26
+ const dataStr = entry.data ? ` ${JSON.stringify(entry.data)}` : '';
27
+ return `[${entry.timestamp}] [${entry.level.toUpperCase()}] [${entry.component}] ${entry.message}${dataStr}`;
28
+ }
29
+ log(level, message, data) {
30
+ if (!this.shouldLog(level))
31
+ return;
32
+ const entry = {
33
+ timestamp: new Date().toISOString(),
34
+ level,
35
+ component: this.component,
36
+ message,
37
+ data
38
+ };
39
+ // MCP protocol: stdout is for JSON-RPC messages, stderr is for logs
40
+ console.error(this.formatEntry(entry));
41
+ }
42
+ debug(message, data) {
43
+ this.log('debug', message, data);
44
+ }
45
+ info(message, data) {
46
+ this.log('info', message, data);
47
+ }
48
+ warn(message, data) {
49
+ this.log('warn', message, data);
50
+ }
51
+ error(message, data) {
52
+ this.log('error', message, data);
53
+ }
54
+ child(subComponent) {
55
+ return new McpLogger(`${this.component}:${subComponent}`, this.minLevel);
56
+ }
57
+ }
58
+ /*
59
+ ######################################################################################################################################################################################################
60
+ */
61
+ // #### LOCAL 'R_DVT_L' - Logger Factory
62
+ /*
63
+ ######################################################################################################################################################################################################
64
+ */
65
+ // ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
66
+ // Logger Factory 'R_DVT_L_T_Factory' - Creates component-specific loggers
67
+ // ══════════════════════════════════════════════════════════════════════════════════════════════════════════════════
68
+ const logLevel = process.env.LOG_LEVEL || 'info';
69
+ export const createLogger = (component) => {
70
+ return new McpLogger(`bitsbound-mcp:${component}`, logLevel);
71
+ };
72
+ export const serverLogger = createLogger('server');
73
+ export const toolLogger = createLogger('tools');
74
+ export const apiLogger = createLogger('api');
75
+ //# sourceMappingURL=Bitsbound_Kings_McpServer_Backend_Logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bitsbound_Kings_McpServer_Backend_Logger.js","sourceRoot":"","sources":["../../logger/Bitsbound_Kings_McpServer_Backend_Logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { McpServerConfig, StartUploadInput, StartUploadOutput, UploadChunkInput, UploadChunkOutput, CompleteUploadInput, CompleteUploadOutput, UploadContractInput, UploadContractOutput, AnalyzeContractInput, AnalyzeContractOutput, GetAnalysisStatusInput, AnalysisStatusOutput, AskSacInput, SacResponseOutput, GenerateRedlineInput, RedlineOutput, GenerateNegotiationEmailInput, NegotiationEmailOutput, ExtractClauseInput, ClauseExtractionOutput, ComparePlaybookInput, PlaybookComparisonOutput, InstantSwarmInput, InstantSwarmOutput, QuickScanInput, QuickScanOutput, AskClauseInput, AskClauseOutput, CheckDealbreakersInput, CheckDealbreakersOutput } from '../../types/Bitsbound_Kings_McpServer_Backend_Types.js';
2
+ export declare class BitsBoundBackautocrat {
3
+ private readonly apiUrl;
4
+ private readonly apiKey;
5
+ constructor(config: McpServerConfig);
6
+ private request;
7
+ startUpload(input: StartUploadInput): Promise<StartUploadOutput>;
8
+ uploadChunk(input: UploadChunkInput): Promise<UploadChunkOutput>;
9
+ completeUpload(input: CompleteUploadInput): Promise<CompleteUploadOutput>;
10
+ uploadContract(input: UploadContractInput): Promise<UploadContractOutput>;
11
+ analyzeContract(input: AnalyzeContractInput): Promise<AnalyzeContractOutput>;
12
+ getAnalysisStatus(input: GetAnalysisStatusInput): Promise<AnalysisStatusOutput>;
13
+ askSac(input: AskSacInput): Promise<SacResponseOutput>;
14
+ generateRedline(input: GenerateRedlineInput): Promise<RedlineOutput>;
15
+ generateNegotiationEmail(input: GenerateNegotiationEmailInput): Promise<NegotiationEmailOutput>;
16
+ extractClause(input: ExtractClauseInput): Promise<ClauseExtractionOutput>;
17
+ comparePlaybook(input: ComparePlaybookInput): Promise<PlaybookComparisonOutput>;
18
+ getAnalysisResults(analysisId: string): Promise<Record<string, unknown>>;
19
+ getPlaybook(playbookId: string): Promise<Record<string, unknown>>;
20
+ instantSwarm(input: InstantSwarmInput): Promise<InstantSwarmOutput>;
21
+ quickScan(input: QuickScanInput): Promise<QuickScanOutput>;
22
+ askClause(input: AskClauseInput): Promise<AskClauseOutput>;
23
+ checkDealbreakers(input: CheckDealbreakersInput): Promise<CheckDealbreakersOutput>;
24
+ }
25
+ //# sourceMappingURL=Bitsbound_Kings_McpServer_Backend_Orchestration_Backautocrat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Bitsbound_Kings_McpServer_Backend_Orchestration_Backautocrat.d.ts","sourceRoot":"","sources":["../../../orchestration/backautocrat/Bitsbound_Kings_McpServer_Backend_Orchestration_Backautocrat.ts"],"names":[],"mappings":"AAgCA,OAAO,KAAK,EACV,eAAe,EAEf,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EAEpB,mBAAmB,EACnB,oBAAoB,EAEpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,aAAa,EACb,6BAA6B,EAC7B,sBAAsB,EACtB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EAKxB,iBAAiB,EACjB,kBAAkB,EAElB,cAAc,EACd,eAAe,EACf,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACxB,MAAM,wDAAwD,CAAC;AAuEhE,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,MAAM,EAAE,eAAe;YAarB,OAAO;IA4Df,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA0ChE,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAmDhE,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuEzE,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgDzE,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IA4E5E,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA4B/E,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAoCtD,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAkCpE,wBAAwB,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA4B/F,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IA6BzE,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC;IAoC/E,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAmBxE,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA6BjE,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IA0FnE,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IA2B1D,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IA2B1D,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAoBzF"}