Merge pull request #7 from Ansvar-Systems/fix/about-golden-standard
fix: align about.ts to golden standard Section 4.9
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/**
|
/**
|
||||||
* about -- Server metadata, dataset statistics, and provenance.
|
* about — Server metadata, dataset statistics, and provenance.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import type Database from '@ansvar/mcp-sqlite';
|
import type Database from '@ansvar/mcp-sqlite';
|
||||||
@@ -25,31 +25,41 @@ export function getAbout(db: InstanceType<typeof Database>, context: AboutContex
|
|||||||
const caps = detectCapabilities(db);
|
const caps = detectCapabilities(db);
|
||||||
const meta = readDbMetadata(db);
|
const meta = readDbMetadata(db);
|
||||||
|
|
||||||
|
const euRefs = safeCount(db, 'SELECT COUNT(*) as count FROM eu_references');
|
||||||
|
|
||||||
|
const stats: Record<string, number> = {
|
||||||
|
documents: safeCount(db, 'SELECT COUNT(*) as count FROM legal_documents'),
|
||||||
|
provisions: safeCount(db, 'SELECT COUNT(*) as count FROM legal_provisions'),
|
||||||
|
definitions: safeCount(db, 'SELECT COUNT(*) as count FROM definitions'),
|
||||||
|
};
|
||||||
|
|
||||||
|
if (euRefs > 0) {
|
||||||
|
stats.eu_documents = safeCount(db, 'SELECT COUNT(*) as count FROM eu_documents');
|
||||||
|
stats.eu_references = euRefs;
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
server: SERVER_NAME,
|
name: 'Israel Law MCP',
|
||||||
version: context.version,
|
version: context.version,
|
||||||
repository: REPOSITORY_URL,
|
jurisdiction: 'IL',
|
||||||
database: {
|
description: 'Israel Law MCP — legislation via Model Context Protocol',
|
||||||
fingerprint: context.fingerprint,
|
stats,
|
||||||
built_at: context.dbBuilt,
|
data_sources: [
|
||||||
tier: meta.tier,
|
{
|
||||||
schema_version: meta.schema_version,
|
name: 'Knesset Legislation Database',
|
||||||
capabilities: [...caps],
|
url: 'https://main.knesset.gov.il',
|
||||||
|
authority: 'Knesset (Israeli Parliament)',
|
||||||
|
},
|
||||||
|
],
|
||||||
|
freshness: {
|
||||||
|
database_built: context.dbBuilt,
|
||||||
},
|
},
|
||||||
statistics: {
|
disclaimer:
|
||||||
documents: safeCount(db, 'SELECT COUNT(*) as count FROM legal_documents'),
|
'This is a research tool, not legal advice. Verify critical citations against official sources.',
|
||||||
provisions: safeCount(db, 'SELECT COUNT(*) as count FROM legal_provisions'),
|
network: {
|
||||||
definitions: safeCount(db, 'SELECT COUNT(*) as count FROM definitions'),
|
name: 'Ansvar MCP Network',
|
||||||
eu_documents: safeCount(db, 'SELECT COUNT(*) as count FROM eu_documents'),
|
open_law: 'https://ansvar.eu/open-law',
|
||||||
eu_references: safeCount(db, 'SELECT COUNT(*) as count FROM eu_references'),
|
directory: 'https://ansvar.ai/mcp',
|
||||||
},
|
|
||||||
data_source: {
|
|
||||||
name: 'Knesset Legislation Database',
|
|
||||||
authority: 'The Knesset (Israeli Parliament)',
|
|
||||||
url: 'https://main.knesset.gov.il/Activity/Legislation',
|
|
||||||
license: 'Government Open Data',
|
|
||||||
jurisdiction: 'IL',
|
|
||||||
languages: ['he', 'en'],
|
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user